/* 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_split_16 (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_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_split_21 (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_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_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_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_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 *);
extern rtx_insn *gen_split_2449 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2450 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2451 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2452 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2453 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2454 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2455 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2456 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2457 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2458 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2459 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2460 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2461 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2462 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2463 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2464 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2465 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2466 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2467 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2468 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2469 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2470 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2471 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2472 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2473 (rtx_insn *, rtx *);
extern rtx_insn *gen_split_2474 (rtx_insn *, rtx *);




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

static int
pattern1 (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
pattern2 (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
pattern3 (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 CONST_INT:
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          return pattern0 (x3, E_SImode); /* [-1, 0] */

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

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

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

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

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

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

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

        default:
          return -1;
        }

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

        case E_VNx8QImode:
          if (pattern2 (x3, E_VNx8QImode) != 0)
            return -1;
          return 9;

        case E_VNx4QImode:
          if (pattern2 (x3, E_VNx4QImode) != 0)
            return -1;
          return 10;

        case E_VNx2QImode:
          if (pattern2 (x3, E_VNx2QImode) != 0)
            return -1;
          return 11;

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

        case E_VNx4HImode:
          if (pattern2 (x3, E_VNx4HImode) != 0)
            return -1;
          return 13;

        case E_VNx2HImode:
          if (pattern2 (x3, E_VNx2HImode) != 0)
            return -1;
          return 14;

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

        case E_VNx2SImode:
          if (pattern2 (x3, E_VNx2SImode) != 0)
            return -1;
          return 16;

        case E_VNx2DImode:
          if (pattern2 (x3, E_VNx2DImode) != 0)
            return -1;
          return 17;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern4 (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
pattern5 (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
pattern6 (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 pattern5 (x3); /* [-1, 1] */
}

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

static int
pattern8 (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
pattern9 (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 = pattern7 (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 (pattern8 (x3, E_V8QImode) != 0)
            return -1;
          return 3;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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_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
pattern11 (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
pattern12 (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 pattern10 (x1, E_SImode); /* [-1, 2] */

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

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

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

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

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

    case E_V2DImode:
      if (pattern11 (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
pattern13 (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
pattern14 (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
pattern15 (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 pattern12 (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 (pattern13 (x3, E_V2SFmode, E_V2SImode) != 0)
                    return -1;
                  return 12;

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

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

                default:
                  return -1;
                }

            default:
              return -1;
            }

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

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

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

        case 29:
          res = pattern12 (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 = pattern14 (x3, E_SImode);
          if (res >= 0)
            return res + 63; /* [63, 64] */
          return -1;

        case E_DImode:
          res = pattern14 (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
pattern16 (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
pattern17 (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_sminmax_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern18 (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
pattern19 (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 CONST_INT:
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          return pattern17 (x3, E_SImode); /* [-1, 0] */

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

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

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

        case E_V8QImode:
          if (pattern1 (x3, E_V8QImode) != 0)
            return -1;
          return 4;

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

        case E_V4HImode:
          if (pattern1 (x3, E_V4HImode) != 0)
            return -1;
          return 6;

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

        case E_V2SImode:
          if (pattern1 (x3, E_V2SImode) != 0)
            return -1;
          return 8;

        case E_V4SImode:
          if (pattern1 (x3, E_V4SImode) != 0)
            return -1;
          return 9;

        case E_V4HFmode:
          if (pattern1 (x3, E_V4HFmode) != 0)
            return -1;
          return 10;

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

        case E_V2SFmode:
          if (pattern1 (x3, E_V2SFmode) != 0)
            return -1;
          return 12;

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

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

        default:
          return -1;
        }

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

        case E_VNx8QImode:
          if (pattern18 (x3, E_VNx8QImode) != 0)
            return -1;
          return 16;

        case E_VNx4QImode:
          if (pattern18 (x3, E_VNx4QImode) != 0)
            return -1;
          return 17;

        case E_VNx2QImode:
          if (pattern18 (x3, E_VNx2QImode) != 0)
            return -1;
          return 18;

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

        case E_VNx4HImode:
          if (pattern18 (x3, E_VNx4HImode) != 0)
            return -1;
          return 20;

        case E_VNx2HImode:
          if (pattern18 (x3, E_VNx2HImode) != 0)
            return -1;
          return 21;

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

        case E_VNx2SImode:
          if (pattern18 (x3, E_VNx2SImode) != 0)
            return -1;
          return 23;

        case E_VNx2DImode:
          if (pattern18 (x3, E_VNx2DImode) != 0)
            return -1;
          return 24;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern20 (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
pattern21 (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
pattern22 (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
pattern23 (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 = pattern22 (x3);
      if (res >= 0)
        return res + 1; /* [1, 2] */
      return -1;

    default:
      return -1;
    }
}

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

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

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

static int
pattern27 (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 pattern26 (x3); /* [-1, 1] */

    case MINUS:
      res = pattern7 (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
pattern28 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 1);
  if (!subreg_lowpart_operator (x3, E_VOIDmode))
    return -1;
  operands[4] = x3;
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) != NEG
      || GET_MODE (x4) != E_SImode)
    return -1;
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != AND
      || GET_MODE (x5) != E_SImode)
    return -1;
  x6 = XEXP (x1, 0);
  operands[0] = x6;
  x7 = XEXP (x2, 0);
  operands[1] = x7;
  return pattern24 (x2); /* [-1, 1] */
}

static int
pattern29 ()
{
  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
pattern30 (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) != 293
          || 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) != 293
          || 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) != 293
          || 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
pattern31 (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) != 293
          || 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 pattern29 (); /* [-1, 3] */

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

    default:
      return -1;
    }
}

static int
pattern32 (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
pattern33 (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) != 293
      || 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 pattern32 (x3); /* [-1, 3] */
}

static int
pattern34 (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) != 293
          || 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) != 293
          || 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) != 293
          || 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
pattern35 (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 pattern33 (x3); /* [-1, 3] */

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

    default:
      return -1;
    }
}

static int
pattern36 (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
pattern37 (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 (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:
      return 0;

    case ASHIFT:
      return 1;

    case ASHIFTRT:
      return 2;

    case LSHIFTRT:
      return 3;

    case ROTATERT:
      return 4;

    case ROTATE:
      return 5;

    case NOT:
      return 6;

    default:
      return -1;
    }
}

static int
pattern38 (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
pattern39 (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 (!const_int_operand (operands[2], E_VOIDmode))
    return -1;
  return 0;
}

static int
pattern40 (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
pattern41 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 2);
  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, 3);
  if (GET_CODE (x4) != i1)
    return -1;
  return 0;
}

static int
pattern42 (rtx x1, int i1, int i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  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
      || pattern41 (x1, CLOBBER) != 0)
    return -1;
  return 0;
}

static int
pattern43 (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
pattern44 (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
pattern45 (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 pattern44 (x1); /* [-1, 1] */
}

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

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

    default:
      return -1;
    }
}

static int
pattern48 (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
pattern49 (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 pattern44 (x1); /* [-1, 1] */

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

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

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

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

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

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern50 (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
pattern51 (rtx x1, int *pnum_clobbers)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL)
    return -1;
  x2 = XEXP (x1, 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 pattern50 (x1, E_SImode); /* [-1, 0] */

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

    default:
      return -1;
    }
}

static int
pattern52 (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
pattern53 (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 pattern52 (x1, E_V16QImode, E_V8QImode, E_V8HImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

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

static int
pattern56 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 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 pattern55 (x1, E_V8QImode, E_V8HImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern57 (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 pattern53 (x1); /* [-1, 2] */

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

    default:
      return -1;
    }
}

static int
pattern58 (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
pattern59 (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
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);
  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
pattern61 (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
pattern62 (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
pattern63 (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
pattern64 (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
pattern65 (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
pattern66 (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
pattern67 (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 pattern66 (x3, E_HFmode); /* [-1, 0] */

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

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;
  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
pattern69 (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
pattern70 (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
pattern71 (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
      || pattern70 (x1, E_DImode, i1) != 0)
    return -1;
  return 0;
}

static int
pattern72 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 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
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[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_V4HFmode:
      return pattern66 (x3, E_V4HFmode); /* [-1, 0] */

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

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

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

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

    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_V4HFmode:
      return pattern66 (x3, E_V4HFmode); /* [-1, 0] */

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

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

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

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern75 (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
pattern76 (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 pattern75 (x3, i1, E_V8HImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

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

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

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

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

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

    case E_DImode:
      if (pattern77 (x3, E_DImode, E_V2SImode) != 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 pattern66 (x3, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern80 (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
pattern81 (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 pattern66 (x3, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern82 (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 pattern66 (x3, E_V4HFmode); /* [-1, 0] */

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern83 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 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 pattern66 (x3, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern84 (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 pattern66 (x3, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern85 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], 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
pattern86 (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
pattern87 (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
pattern88 (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
pattern89 (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 pattern66 (x3, E_V4HImode); /* [-1, 0] */

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

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

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

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

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

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

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

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

        case E_VNx2DImode:
          if (pattern66 (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 (pattern85 (x3, E_HImode, E_V4HImode) != 0)
            return -1;
          return 10;

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

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

        case E_V4SImode:
          if (pattern85 (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 = pattern86 (x3, E_V4HImode);
          if (res >= 0)
            return res + 14; /* [14, 15] */
          return -1;

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

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

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

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

        case E_SImode:
          res = pattern87 (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) != 154)
        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 (pattern88 (x3, E_VNx8HImode) != 0)
            return -1;
          return 26;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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_MODE (operands[0]))
    {
    case E_V8QImode:
      return pattern66 (x3, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern91 (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
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_hi (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_si (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_di (operands[2], E_SImode))
    return -1;
  return 0;
}

static int
pattern95 (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 pattern66 (x3, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

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

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

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

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

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

        default:
          return -1;
        }

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

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

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

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

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

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

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

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

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

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

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

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

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

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

    case E_V4SImode:
      if (pattern99 (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 (pattern100 (x3, E_DImode) != 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;
  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 (pattern100 (x3, E_SImode) != 0)
        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];
  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
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_V8QImode:
      return pattern66 (x3, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    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_V4SImode:
      return pattern66 (x3, E_V4SImode); /* [-1, 0] */

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

    default:
      return -1;
    }
}

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

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

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

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

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

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

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

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

    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;
  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
pattern108 (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
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_VNx8HFmode:
      return pattern108 (x3, E_VNx8HImode, E_VNx8HFmode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern110 (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 pattern66 (x3, E_VNx8HFmode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern111 (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
pattern112 (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 pattern80 (x3, E_VNx16QImode, E_VNx16BImode, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern113 (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 pattern66 (x3, E_VNx16QImode); /* [-1, 0] */

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern114 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = 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 pattern108 (x3, E_VNx16QImode, E_VNx8HImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern115 (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 pattern75 (x1, E_VNx16QImode, E_VNx8HImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern116 (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 pattern115 (x3); /* [-1, 2] */
}

static int
pattern117 (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
pattern118 (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 pattern115 (x3); /* [-1, 2] */

    case UNSPEC:
      if (XVECLEN (x5, 0) != 2
          || XINT (x5, 1) != 154)
        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 (pattern117 (x3, E_VNx8HImode, E_VNx4SImode) != 0)
            return -1;
          return 3;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

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

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

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

    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 pattern75 (x3, E_VNx8HImode, E_VNx16QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern123 (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
pattern124 (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 pattern123 (x3); /* [-1, 2] */
}

static int
pattern125 (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 pattern66 (x3, E_VNx16QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern126 (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 pattern75 (x3, E_VNx16QImode, E_VNx8HImode); /* [-1, 0] */

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

    default:
      return -1;
    }
}

static int
pattern127 (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 pattern66 (x3, E_VNx16QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern128 (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
pattern129 (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
pattern130 (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 pattern129 (x3); /* [-1, 1] */
}

static int
pattern131 (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
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_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
pattern133 (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
pattern134 (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
pattern135 (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
pattern136 (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 pattern133 (x3, E_HImode); /* [-1, 1] */

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

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

    default:
      return -1;
    }
}

static int
pattern137 (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
pattern138 (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
pattern139 (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
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;
  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
pattern141 (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
pattern142 (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 pattern141 (x2, E_V16QImode); /* [-1, 0] */

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

    default:
      return -1;
    }
}

static int
pattern143 (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
pattern144 (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 (pattern143 (x3, E_V16QImode) != 0)
            return -1;
          return 2;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

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

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_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
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], 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
pattern151 (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 pattern150 (x3, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern152 (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
pattern153 (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 pattern152 (x3, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern154 (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
pattern155 (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
pattern156 (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 pattern155 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

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

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

    case UNSPEC:
      if (XVECLEN (x6, 0) != 3
          || XINT (x6, 1) != 334)
        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) != 334)
        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
pattern159 (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
pattern160 (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
pattern161 (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 pattern160 (x1, E_VNx16BImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern162 ()
{
  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
pattern163 (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 pattern162 (); /* [-1, 2] */
}

static int
pattern164 (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 pattern163 (x1, E_SImode); /* [-1, 2] */

    case E_DImode:
      res = pattern163 (x1, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      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;
  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 pattern129 (x2); /* [-1, 1] */
}

static int
pattern166 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  switch (XINT (x1, 1))
    {
    case 155:
      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 293:
      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 = pattern29 ();
      if (res >= 0)
        return res + 1; /* [1, 4] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern167 (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 pattern166 (x3); /* [-1, 4] */
}

static int
pattern168 (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 pattern167 (x1); /* [-1, 4] */
}

static int
pattern169 (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 155:
      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 293:
      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
pattern170 (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 155:
      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 293:
      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
pattern171 (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 155:
      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 293:
      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
pattern172 (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 pattern169 (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 = pattern170 (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 = pattern171 (x4);
      if (res >= 0)
        return res + 4; /* [4, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern173 (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
pattern174 (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 pattern173 (x6, E_SImode); /* [-1, 0] */

    case E_DImode:
      if (pattern173 (x6, E_DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern175 (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
pattern176 (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
pattern177 (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 pattern176 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern178 (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 pattern177 (x1); /* [-1, 3] */
}

static int
pattern179 (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) != 26)
    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 pattern178 (x1); /* [-1, 3] */
}

static int
pattern180 (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)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_QImode:
          if (!aarch64_sve_dup_operand (operands[1], E_QImode))
            return -1;
          return 0;

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

        default:
          return -1;
        }

    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 2;

    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 3;

    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 4;

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

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

        default:
          return -1;
        }

    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 7;

    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 8;

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

        case E_V8HFmode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V8HFmode))
            return -1;
          return 10;

        default:
          return -1;
        }

    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 11;

    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 12;

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

        case E_V8BFmode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V8BFmode))
            return -1;
          return 14;

        default:
          return -1;
        }

    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 15;

    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 16;

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

        case E_V4SImode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V4SImode))
            return -1;
          return 18;

        default:
          return -1;
        }

    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 19;

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

        case E_V4SFmode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V4SFmode))
            return -1;
          return 21;

        default:
          return -1;
        }

    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 22;

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

        case E_V2DImode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V2DImode))
            return -1;
          return 24;

        default:
          return -1;
        }

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

        case E_V2DFmode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V2DFmode))
            return -1;
          return 26;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern181 (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
pattern182 (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 pattern181 (x5); /* [-1, 0] */
}

static int
pattern183 (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
pattern184 (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 pattern183 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern185 (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) != 26)
    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 pattern184 (x1); /* [-1, 3] */
}

static int
pattern186 (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) != 26)
    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 pattern177 (x1); /* [-1, 3] */
}

static int
pattern187 (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
pattern188 (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 pattern187 (x1, E_SImode); /* [-1, 0] */

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

    default:
      return -1;
    }
}

static int
pattern189 (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
pattern190 (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
pattern191 (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 pattern190 (x1); /* [-1, 1] */
}

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern194 (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
pattern195 (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
pattern196 (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 pattern195 (x4); /* [-1, 1] */
}

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

static int
pattern199 (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;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

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

static int
pattern201 (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
pattern202 (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 pattern200 (x1, E_V8QImode); /* [-1, 0] */

    case E_V16QImode:
      if (pattern200 (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 (pattern201 (x1, E_HFmode, E_HImode) != 0)
        return -1;
      return 14;

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

    default:
      return -1;
    }
}

static int
pattern203 (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
pattern204 (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 pattern202 (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 (pattern203 (x1, E_V4HFmode, E_V4HImode) != 0)
            return -1;
          return 16;

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

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

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

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

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

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern205 (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 pattern187 (x1, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern206 (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
pattern207 (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
pattern208 (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
pattern209 (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
pattern210 (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 pattern209 (x1, E_V8HImode, i1); /* [-1, 0] */

    case E_V4SImode:
      if (pattern209 (x1, E_V4SImode, i2) != 0)
        return -1;
      return 1;

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

    default:
      return -1;
    }
}

static int
pattern211 (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
pattern212 (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
pattern213 (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
pattern214 (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
pattern215 (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
pattern216 (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 pattern211 (x1, E_V4HImode); /* [-1, 0] */

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

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

            case E_V4SImode:
              if (pattern211 (x1, E_V4SImode) != 0)
                return -1;
              return 3;

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

            case E_SImode:
              if (pattern211 (x1, E_SImode) != 0)
                return -1;
              return 5;

            case E_VNx16QImode:
              if (pattern212 (x1, E_VNx16QImode) != 0)
                return -1;
              return 6;

            case E_VNx8HImode:
              if (pattern212 (x1, E_VNx8HImode) != 0)
                return -1;
              return 7;

            case E_VNx4SImode:
              if (pattern212 (x1, E_VNx4SImode) != 0)
                return -1;
              return 8;

            case E_VNx2DImode:
              if (pattern212 (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 = pattern213 (x1, E_V4HImode);
              if (res >= 0)
                return res + 10; /* [10, 11] */
              return -1;

            case E_V8HImode:
              res = pattern213 (x1, E_V8HImode);
              if (res >= 0)
                return res + 12; /* [12, 13] */
              return -1;

            case E_V2SImode:
              res = pattern214 (x1, E_V2SImode);
              if (res >= 0)
                return res + 14; /* [14, 15] */
              return -1;

            case E_V4SImode:
              res = pattern214 (x1, E_V4SImode);
              if (res >= 0)
                return res + 16; /* [16, 17] */
              return -1;

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

            case E_SImode:
              res = pattern214 (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) != 154)
        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 (pattern215 (x1, E_VNx8HImode) != 0)
            return -1;
          return 22;

        case E_VNx4SImode:
          if (pattern215 (x1, E_VNx4SImode) != 0)
            return -1;
          return 23;

        case E_VNx2DImode:
          if (pattern215 (x1, E_VNx2DImode) != 0)
            return -1;
          return 24;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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_offset_qi (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern218 (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
pattern219 (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
pattern220 (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
pattern221 (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 pattern217 (x1, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern222 (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
pattern223 (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
pattern224 (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
pattern225 (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
pattern226 (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 pattern222 (x1, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

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

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

    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_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
pattern228 (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
pattern229 (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
pattern230 (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
pattern231 (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 pattern230 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern232 (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
pattern233 (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) != 154)
    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 pattern232 (x1, E_VNx8HFmode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern234 (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) != 154)
    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 pattern232 (x1, E_VNx8HFmode); /* [-1, 0] */

    case E_VNx4SFmode:
      if (pattern232 (x1, E_VNx4SFmode) != 0)
        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;
  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
pattern236 (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
pattern237 (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
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[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 pattern236 (x1, E_VNx16QImode, E_VNx16BImode, E_QImode); /* [-1, 0] */

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

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

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

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

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

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

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

    case E_VNx16QImode:
      if (pattern237 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
        return -1;
      return 8;

    case E_VNx8HImode:
      if (pattern237 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 9;

    case E_VNx4SImode:
      if (pattern237 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 10;

    case E_VNx2DImode:
      if (pattern237 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 11;

    case E_VNx8BFmode:
      if (pattern237 (x1, E_VNx8BFmode, E_VNx8BImode) != 0)
        return -1;
      return 12;

    case E_VNx8HFmode:
      if (pattern237 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
        return -1;
      return 13;

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

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

    default:
      return -1;
    }
}

static int
pattern239 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  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
pattern240 (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
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[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 pattern239 (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 = pattern240 (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
pattern242 (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
pattern243 (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 = pattern242 (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
pattern244 (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
pattern245 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[2], i1)
      || !register_operand (operands[3], i1)
      || !register_operand (operands[1], i1))
    return -1;
  return 0;
}

static int
pattern246 (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 pattern245 (x1, E_VNx16QImode); /* [-1, 0] */

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

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

    case E_VNx2DImode:
      if (pattern245 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern247 (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) != 154
          || 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
pattern248 (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
pattern249 (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 pattern248 (x1, E_VNx8HImode, E_VNx16QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern250 (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 pattern108 (x1, E_VNx8HImode, E_VNx16QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern251 (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
pattern252 (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 pattern251 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern253 (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 pattern251 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern254 (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
pattern255 (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
pattern256 (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 pattern254 (x1, E_VNx16QImode); /* [-1, 0] */

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

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

        case E_VNx2DImode:
          if (pattern254 (x1, E_VNx2DImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 154)
        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 (pattern255 (x1, E_VNx8HImode) != 0)
            return -1;
          return 4;

        case E_VNx4SImode:
          if (pattern255 (x1, E_VNx4SImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern257 (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
pattern258 (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 pattern248 (x1, E_VNx16QImode, E_VNx4SImode); /* [-1, 0] */

        case E_VNx2DImode:
          if (pattern248 (x1, E_VNx8HImode, E_VNx2DImode) != 0)
            return -1;
          return 1;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 154)
        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 (pattern257 (x1, E_VNx16QImode, E_VNx4SImode) != 0)
            return -1;
          return 2;

        case E_VNx2DImode:
          if (pattern257 (x1, E_VNx8HImode, E_VNx2DImode) != 0)
            return -1;
          return 3;

        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;
  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
pattern260 (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) != 119)
    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 pattern259 (x1, E_VNx16QImode); /* [-1, 0] */

    case E_VNx8QImode:
      if (pattern259 (x1, E_VNx8QImode) != 0)
        return -1;
      return 1;

    case E_VNx4QImode:
      if (pattern259 (x1, E_VNx4QImode) != 0)
        return -1;
      return 2;

    case E_VNx2QImode:
      if (pattern259 (x1, E_VNx2QImode) != 0)
        return -1;
      return 3;

    case E_VNx8HImode:
      if (pattern259 (x1, E_VNx8HImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern259 (x1, E_VNx4HImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern259 (x1, E_VNx2HImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern259 (x1, E_VNx4SImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern259 (x1, E_VNx2SImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern259 (x1, E_VNx2DImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern261 (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
pattern262 (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
pattern263 (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 338:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          return pattern261 (x1, E_VNx8BImode, E_VNx8HFmode); /* [-1, 0] */

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

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

        default:
          return -1;
        }

    case 339:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern261 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    case 340:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern261 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 6;

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

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

        default:
          return -1;
        }

    case 345:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern261 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 9;

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

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

        default:
          return -1;
        }

    case 346:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern261 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 12;

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

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

        default:
          return -1;
        }

    case 347:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern261 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 15;

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

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

        default:
          return -1;
        }

    case 348:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8BImode:
          if (pattern262 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 18;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern264 (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
pattern265 (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
pattern266 (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) != 119)
    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 pattern264 (x1, E_VNx16QImode); /* [-1, 0] */

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

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

        case E_VNx2DImode:
          if (pattern264 (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 (pattern265 (x1, E_VNx16QImode) != 0)
            return -1;
          return 4;

        case E_VNx8HImode:
          if (pattern265 (x1, E_VNx8HImode) != 0)
            return -1;
          return 5;

        case E_VNx4SImode:
          if (pattern265 (x1, E_VNx4SImode) != 0)
            return -1;
          return 6;

        case E_VNx2DImode:
          if (pattern265 (x1, E_VNx2DImode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern267 (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
pattern268 (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
pattern269 (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
pattern270 (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 = pattern25 (x1);
      if (res >= 0)
        return res + 3; /* [3, 4] */
      return -1;

    default:
      return -1;
    }
}

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[4] = x2;
  if (!subreg_lowpart_operator (operands[4], E_VOIDmode))
    return -1;
  return pattern270 (x1); /* [-1, 4] */
}

static int
pattern272 (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 (!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 (x1) != E_QImode
          || !aarch64_sync_memory_operand (operands[1], E_QImode))
        return -1;
      return 0;

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

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

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

    default:
      return -1;
    }
}

static int
pattern273 (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
pattern274 (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 pattern273 (x1, E_V8HImode, E_V8QImode, E_V16QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern275 (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
pattern276 (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 pattern275 (x1, E_V8QImode, E_V8HImode, E_V16QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern277 (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
pattern278 (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 pattern277 (x1, E_V8QImode, E_V8HImode, E_V16QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern279 (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
pattern280 (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 pattern1 (x1, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

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

    case E_QImode:
      if (pattern1 (x1, E_QImode) != 0)
        return -1;
      return 7;

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

    case E_SImode:
      if (pattern1 (x1, E_SImode) != 0)
        return -1;
      return 9;

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

    case E_VNx16QImode:
      if (pattern279 (x1, E_VNx16QImode) != 0)
        return -1;
      return 11;

    case E_VNx8HImode:
      if (pattern279 (x1, E_VNx8HImode) != 0)
        return -1;
      return 12;

    case E_VNx4SImode:
      if (pattern279 (x1, E_VNx4SImode) != 0)
        return -1;
      return 13;

    case E_VNx2DImode:
      if (pattern279 (x1, E_VNx2DImode) != 0)
        return -1;
      return 14;

    default:
      return -1;
    }
}

static int
pattern281 (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
pattern282 (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 pattern1 (x1, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

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

    case E_QImode:
      if (pattern1 (x1, E_QImode) != 0)
        return -1;
      return 7;

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

    case E_SImode:
      if (pattern1 (x1, E_SImode) != 0)
        return -1;
      return 9;

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

    case E_VNx16QImode:
      if (pattern281 (x1, E_VNx16QImode) != 0)
        return -1;
      return 11;

    case E_VNx8HImode:
      if (pattern281 (x1, E_VNx8HImode) != 0)
        return -1;
      return 12;

    case E_VNx4SImode:
      if (pattern281 (x1, E_VNx4SImode) != 0)
        return -1;
      return 13;

    case E_VNx2DImode:
      if (pattern281 (x1, E_VNx2DImode) != 0)
        return -1;
      return 14;

    default:
      return -1;
    }
}

static int
pattern283 (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 155:
      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 293:
      x3 = XVECEXP (x1, 0, 1);
      if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      res = pattern32 (x1);
      if (res >= 0)
        return res + 1; /* [1, 4] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern284 (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 pattern283 (x3); /* [-1, 4] */
}

static int
pattern285 (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 155:
          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 293:
          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 155:
          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 293:
          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 155:
          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 293:
          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
pattern286 (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) != 121
      || 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
pattern287 (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
pattern288 (rtx x1, int i1, int i2)
{
  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) != i1
      || XINT (x2, 1) != i2)
    return -1;
  return 0;
}

static int
pattern289 (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 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  operands[1] = x4;
  x5 = XEXP (x3, 1);
  operands[2] = x5;
  x6 = XEXP (x2, 1);
  operands[3] = x6;
  x7 = XEXP (x1, 1);
  operands[4] = x7;
  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)
          || !aarch64_logical_immediate (operands[3], E_SImode)
          || !register_operand (operands[4], 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)
          || !aarch64_logical_immediate (operands[3], E_DImode)
          || !register_operand (operands[4], E_DImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern290 (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
pattern291 (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) != 119
      || 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
pattern292 (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
pattern293 (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
pattern294 (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
pattern295 (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
pattern296 (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
pattern297 (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
pattern298 (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 pattern297 (x1, E_V16QImode, E_V8QImode, E_V8HImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern299 (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
pattern300 (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 pattern299 (x1, E_SImode); /* [-1, 3] */

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

    default:
      return -1;
    }
}

static int
pattern301 (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
pattern302 (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
pattern303 (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
pattern304 (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 pattern302 (x1, E_V2SImode, E_V8QImode); /* [-1, 0] */

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

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

        case E_VNx2DImode:
          if (pattern302 (x1, E_VNx2DImode, E_VNx8HImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 154)
        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 (pattern303 (x1, E_VNx4SImode, E_VNx16QImode) != 0)
            return -1;
          return 4;

        case E_VNx2DImode:
          if (pattern303 (x1, E_VNx2DImode, E_VNx8HImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern305 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  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
pattern306 (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 pattern305 (x2, i1, i2); /* [-1, 0] */
}

static int
pattern307 (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 pattern306 (x1, E_V4SImode, E_V16QImode); /* [-1, 0] */

    case E_VNx4SImode:
      if (pattern306 (x1, E_VNx4SImode, E_VNx16QImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern308 (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
pattern309 (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 pattern308 (x1, E_VNx16QImode); /* [-1, 0] */

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

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

    case E_VNx2DImode:
      if (pattern308 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern310 (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 pattern306 (x1, E_VNx8HImode, E_VNx16QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern311 (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
pattern312 (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 pattern306 (x1, E_VNx8HImode, E_VNx16QImode); /* [-1, 0] */

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

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

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x3, 0) != 2
          || XINT (x3, 1) != 154)
        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 (pattern311 (x1, E_VNx4SImode, E_VNx8HImode) != 0)
            return -1;
          return 3;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern313 (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 pattern312 (x1); /* [-1, 4] */
}

static int
pattern314 (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
pattern315 (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 pattern314 (x1, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern316 (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
pattern317 (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
pattern318 (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
pattern319 (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 pattern318 (x1, E_SImode); /* [-1, 2] */

    case E_DImode:
      res = pattern318 (x1, E_DImode);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      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];
  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
pattern321 (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
pattern322 (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 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_VNx8HFmode:
      if (pattern320 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
        return -1;
      return 7;

    case E_VNx4HFmode:
      if (pattern320 (x1, E_VNx4HFmode, E_VNx4BImode) != 0)
        return -1;
      return 8;

    case E_VNx2HFmode:
      if (pattern320 (x1, E_VNx2HFmode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    case E_VNx8BFmode:
      if (pattern320 (x1, E_VNx8BFmode, E_VNx8BImode) != 0)
        return -1;
      return 10;

    case E_VNx4BFmode:
      if (pattern320 (x1, E_VNx4BFmode, E_VNx4BImode) != 0)
        return -1;
      return 11;

    case E_VNx2BFmode:
      if (pattern320 (x1, E_VNx2BFmode, E_VNx2BImode) != 0)
        return -1;
      return 12;

    case E_VNx4SImode:
      if (pattern320 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 13;

    case E_VNx2SImode:
      if (pattern320 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 14;

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

    case E_VNx2SFmode:
      if (pattern320 (x1, E_VNx2SFmode, E_VNx2BImode) != 0)
        return -1;
      return 16;

    case E_VNx2DImode:
      if (pattern320 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 17;

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

    case E_VNx32QImode:
      if (pattern321 (x1, E_VNx32QImode, E_VNx16BImode) != 0)
        return -1;
      return 19;

    case E_VNx16HImode:
      if (pattern321 (x1, E_VNx16HImode, E_VNx8BImode) != 0)
        return -1;
      return 20;

    case E_VNx8SImode:
      if (pattern321 (x1, E_VNx8SImode, E_VNx4BImode) != 0)
        return -1;
      return 21;

    case E_VNx4DImode:
      if (pattern321 (x1, E_VNx4DImode, E_VNx2BImode) != 0)
        return -1;
      return 22;

    case E_VNx16BFmode:
      if (pattern321 (x1, E_VNx16BFmode, E_VNx8BImode) != 0)
        return -1;
      return 23;

    case E_VNx16HFmode:
      if (pattern321 (x1, E_VNx16HFmode, E_VNx8BImode) != 0)
        return -1;
      return 24;

    case E_VNx8SFmode:
      if (pattern321 (x1, E_VNx8SFmode, E_VNx4BImode) != 0)
        return -1;
      return 25;

    case E_VNx4DFmode:
      if (pattern321 (x1, E_VNx4DFmode, E_VNx2BImode) != 0)
        return -1;
      return 26;

    case E_VNx48QImode:
      if (pattern321 (x1, E_VNx48QImode, E_VNx16BImode) != 0)
        return -1;
      return 27;

    case E_VNx24HImode:
      if (pattern321 (x1, E_VNx24HImode, E_VNx8BImode) != 0)
        return -1;
      return 28;

    case E_VNx12SImode:
      if (pattern321 (x1, E_VNx12SImode, E_VNx4BImode) != 0)
        return -1;
      return 29;

    case E_VNx6DImode:
      if (pattern321 (x1, E_VNx6DImode, E_VNx2BImode) != 0)
        return -1;
      return 30;

    case E_VNx24BFmode:
      if (pattern321 (x1, E_VNx24BFmode, E_VNx8BImode) != 0)
        return -1;
      return 31;

    case E_VNx24HFmode:
      if (pattern321 (x1, E_VNx24HFmode, E_VNx8BImode) != 0)
        return -1;
      return 32;

    case E_VNx12SFmode:
      if (pattern321 (x1, E_VNx12SFmode, E_VNx4BImode) != 0)
        return -1;
      return 33;

    case E_VNx6DFmode:
      if (pattern321 (x1, E_VNx6DFmode, E_VNx2BImode) != 0)
        return -1;
      return 34;

    case E_VNx64QImode:
      if (pattern321 (x1, E_VNx64QImode, E_VNx16BImode) != 0)
        return -1;
      return 35;

    case E_VNx32HImode:
      if (pattern321 (x1, E_VNx32HImode, E_VNx8BImode) != 0)
        return -1;
      return 36;

    case E_VNx16SImode:
      if (pattern321 (x1, E_VNx16SImode, E_VNx4BImode) != 0)
        return -1;
      return 37;

    case E_VNx8DImode:
      if (pattern321 (x1, E_VNx8DImode, E_VNx2BImode) != 0)
        return -1;
      return 38;

    case E_VNx32BFmode:
      if (pattern321 (x1, E_VNx32BFmode, E_VNx8BImode) != 0)
        return -1;
      return 39;

    case E_VNx32HFmode:
      if (pattern321 (x1, E_VNx32HFmode, E_VNx8BImode) != 0)
        return -1;
      return 40;

    case E_VNx16SFmode:
      if (pattern321 (x1, E_VNx16SFmode, E_VNx4BImode) != 0)
        return -1;
      return 41;

    case E_VNx8DFmode:
      if (pattern321 (x1, E_VNx8DFmode, E_VNx2BImode) != 0)
        return -1;
      return 42;

    default:
      return -1;
    }
}

static int
pattern323 (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
pattern324 (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 pattern323 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

    case E_VNx8HImode:
      if (pattern323 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern323 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern323 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern323 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern323 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern323 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern325 (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
pattern326 (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 pattern325 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

    case E_VNx8HImode:
      if (pattern325 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern325 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern325 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern325 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern325 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern325 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern327 (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
pattern328 (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 pattern327 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

    case E_VNx8HImode:
      if (pattern327 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern327 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern327 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern327 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern327 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern327 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern329 (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
pattern330 (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 pattern329 (x1, E_VNx4SImode, E_VNx4BImode); /* [-1, 0] */

    case E_VNx2DImode:
      if (pattern329 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern331 (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
pattern332 (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 pattern331 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

    case E_VNx8HImode:
      if (pattern331 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern331 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern331 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern331 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern331 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern331 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern333 (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
pattern334 (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 pattern333 (x1, E_VNx16QImode); /* [-1, 0] */

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

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

    case E_VNx2DImode:
      if (pattern333 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern335 (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
pattern336 (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 pattern44 (x1); /* [-1, 1] */
}

static int
pattern337 (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
pattern338 (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
pattern339 (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
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);
  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
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, 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 pattern339 (x1, E_VNx16BImode); /* [-1, 0] */

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

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

        case E_VNx2BImode:
          if (pattern339 (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 (pattern340 (x1, E_VNx16BImode) != 0)
            return -1;
          return 4;

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

        case E_VNx4BImode:
          if (pattern340 (x1, E_VNx4BImode) != 0)
            return -1;
          return 6;

        case E_VNx2BImode:
          if (pattern340 (x1, E_VNx2BImode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

static int
pattern343 (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
pattern344 (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
pattern345 (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
pattern346 (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
pattern347 (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
pattern348 (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
pattern349 (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
pattern350 (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 pattern349 (x1, E_V8HImode, E_V8QImode, E_V16QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern351 (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
pattern352 (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 pattern351 (x1, E_V8HImode, E_V8QImode, E_V16QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern353 (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
pattern354 (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
pattern355 (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 pattern305 (x2, i1, i2); /* [-1, 0] */
}

static int
pattern356 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 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 pattern354 (x1, E_V8QImode, E_V8HImode, E_V16QImode); /* [-1, 0] */

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

        case E_V4SImode:
          if (pattern354 (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 (pattern355 (x1, E_V8QImode, E_V8HImode, E_V16QImode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern357 (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
pattern358 (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
pattern359 (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 pattern358 (x5, E_SImode); /* [-1, 0] */

    case E_DImode:
      if (pattern358 (x5, E_DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern360 (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 pattern288 (x5, 3, 26); /* [-1, 0] */
}

static int
pattern361 (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
pattern362 (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
pattern363 (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 (pattern362 (x7, E_SImode) != 0)
            return -1;
          return 2;

        case E_DImode:
          x7 = XEXP (x5, 1);
          if (pattern362 (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
pattern364 (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
pattern365 (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 pattern364 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern366 (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
pattern367 (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 pattern366 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern368 (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
pattern369 (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) != 22
          || 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) != 22)
        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 pattern363 (x1); /* [-1, 4] */

    case 2:
      if (XINT (x3, 1) != 26)
        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 = pattern365 (x3);
          if (res >= 0)
            return res + 5; /* [5, 8] */
          return -1;

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

        case IOR:
          res = pattern367 (x3);
          if (res >= 0)
            return res + 13; /* [13, 16] */
          return -1;

        case XOR:
          res = pattern367 (x3);
          if (res >= 0)
            return res + 17; /* [17, 20] */
          return -1;

        case AND:
          res = pattern367 (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 (pattern368 (x3, E_QImode) != 0)
                return -1;
              return 25;

            case E_HImode:
              if (pattern368 (x3, E_HImode) != 0)
                return -1;
              return 26;

            case E_SImode:
              if (pattern368 (x3, E_SImode) != 0)
                return -1;
              return 27;

            case E_DImode:
              if (pattern368 (x3, E_DImode) != 0)
                return -1;
              return 28;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern370 (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) != 26)
    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 pattern184 (x1); /* [-1, 3] */
}

static int
pattern371 (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) != 26)
    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 pattern177 (x1); /* [-1, 3] */
}

static int
pattern372 (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) != 119
      || 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
pattern373 (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
pattern374 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], 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
pattern375 (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 pattern374 (x1, E_SImode); /* [-1, 0] */

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

    default:
      return -1;
    }
}

static int
pattern376 (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) != 119)
    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
pattern377 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !aarch64_logical_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern378 (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
pattern379 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !aarch64_sve_logical_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern380 (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 pattern166 (x3); /* [-1, 4] */
}

static int
pattern381 (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
pattern382 (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 155:
      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 293:
      x6 = XVECEXP (x4, 0, 1);
      if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      res = pattern381 (x4);
      if (res >= 0)
        return res + 1; /* [1, 4] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern383 (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
pattern384 (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 pattern383 (x1, E_SImode); /* [-1, 2] */

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

    default:
      return -1;
    }
}

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

static int
pattern386 (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
pattern387 (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 pattern53 (x1); /* [-1, 2] */
}

static int
pattern388 (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
pattern389 (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 pattern388 (x1, E_V8HImode, E_V16QImode, E_V8QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern390 (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
pattern391 (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 (pattern390 (x1, E_V8HImode, E_V8QImode) != 0)
        return -1;
      return 1;

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

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

    default:
      return -1;
    }
}

static int
pattern392 (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
pattern393 (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 pattern392 (x1, E_V4SImode, E_HImode, E_SImode, E_V4HImode); /* [-1, 0] */

        case E_V2DImode:
          if (pattern392 (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
pattern394 (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
pattern395 (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 pattern394 (x1, E_VNx16QImode); /* [-1, 0] */

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

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

    case E_VNx2DImode:
      if (pattern394 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern396 (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
pattern397 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  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 pattern396 (x1, E_V2SImode, E_V8QImode); /* [-1, 1] */

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

    default:
      return -1;
    }
}

static int
pattern398 (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
pattern399 (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
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
      || !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
pattern401 (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 pattern399 (x1, E_SImode); /* [-1, 2] */

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

    case E_V8HImode:
      if (pattern400 (x1, E_V8QImode, E_V8HImode) != 0)
        return -1;
      return 6;

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

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

    default:
      return -1;
    }
}

static int
pattern402 (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
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 = 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 pattern402 (x1, E_V16QImode, E_V8QImode, E_V8HImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern404 (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
pattern405 (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
pattern406 (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
pattern407 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i2)
      || GET_MODE (x1) != i2)
    return -1;
  x2 = XEXP (x1, 1);
  return pattern406 (x2, i1, i2); /* [-1, 0] */
}

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

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

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

    default:
      return -1;
    }
}

static int
pattern409 (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
pattern410 (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 pattern408 (x1); /* [-1, 2] */

    case UNSPEC:
      if (XVECLEN (x3, 0) != 2
          || XINT (x3, 1) != 154)
        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 (pattern409 (x1, E_VNx8HImode, E_VNx4SImode) != 0)
            return -1;
          return 3;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern411 (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 pattern410 (x1); /* [-1, 4] */
}

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

static int
pattern413 (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
pattern414 (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 pattern413 (x1, E_V8QImode); /* [-1, 0] */

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

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern415 (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 pattern55 (x1, E_SImode, E_DImode); /* [-1, 0] */

    case E_V8HImode:
      if (pattern55 (x1, E_V8QImode, E_V8HImode) != 0)
        return -1;
      return 1;

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

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

    default:
      return -1;
    }
}

static int
pattern416 (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
pattern417 (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 (pattern416 (x1, E_HImode, E_SImode, E_V4SImode, E_V4HImode) != 0)
            return -1;
          return 4;

        case E_V2DImode:
          if (pattern416 (x1, E_SImode, E_DImode, E_V2DImode, E_V2SImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern418 (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
pattern419 (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 (pattern418 (x1, E_HImode, E_SImode, E_V4SImode, E_V8HImode, E_V4HImode) != 0)
            return -1;
          return 4;

        case E_V2DImode:
          if (pattern418 (x1, E_SImode, E_DImode, E_V2DImode, E_V4SImode, E_V2SImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern420 (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
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_VNx8HImode:
      return pattern420 (x1, E_VNx8QImode, E_VNx8BImode, E_VNx8HImode); /* [-1, 0] */

    case E_VNx4HImode:
      if (pattern420 (x1, E_VNx4QImode, E_VNx4BImode, E_VNx4HImode) != 0)
        return -1;
      return 1;

    case E_VNx2HImode:
      if (pattern420 (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
pattern422 (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
pattern423 (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
pattern424 (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
pattern425 (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
pattern426 (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
pattern427 (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
pattern428 (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 = pattern427 (x3);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern429 (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 pattern428 (x1); /* [-1, 5] */
}

static int
pattern430 (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 119:
          return pattern421 (x1); /* [-1, 9] */

        case 109:
          res = pattern421 (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 382:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern422 (x1, E_VNx8QImode, E_VNx8BImode, E_VNx8HImode) != 0)
                return -1;
              return 20;

            case E_VNx4HImode:
              if (pattern422 (x1, E_VNx4QImode, E_VNx4BImode, E_VNx4HImode) != 0)
                return -1;
              return 21;

            case E_VNx2HImode:
              if (pattern422 (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 383:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern423 (x1, E_VNx8QImode, E_VNx8BImode, E_VNx8HImode) != 0)
                return -1;
              return 30;

            case E_VNx4HImode:
              if (pattern423 (x1, E_VNx4QImode, E_VNx4BImode, E_VNx4HImode) != 0)
                return -1;
              return 31;

            case E_VNx2HImode:
              if (pattern423 (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) != 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;
      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 (pattern424 (x1, E_VNx4SImode, E_VNx4BImode, E_VNx4QImode, E_VNx4HImode) != 0)
                return -1;
              return 40;

            case E_VNx4SImode:
              res = pattern425 (x1);
              if (res >= 0)
                return res + 41; /* [41, 42] */
              return -1;

            case E_VNx2HImode:
              if (pattern424 (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 = pattern426 (x1);
              if (res >= 0)
                return res + 46; /* [46, 48] */
              return -1;

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x7, 0) != 2
              || XINT (x7, 1) != 119
              || 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 = pattern429 (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 = pattern428 (x1);
                  if (res >= 0)
                    return res + 55; /* [55, 60] */
                  return -1;

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              res = pattern429 (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 = pattern428 (x1);
          if (res >= 0)
            return res + 67; /* [67, 72] */
          return -1;

        default:
          return -1;
        }

    case 7:
      if (XINT (x3, 1) != 115)
        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 = pattern425 (x1);
              if (res >= 0)
                return res + 73; /* [73, 74] */
              return -1;

            case E_VNx2DImode:
              res = pattern426 (x1);
              if (res >= 0)
                return res + 75; /* [75, 77] */
              return -1;

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x7, 0) != 2
              || XINT (x7, 1) != 119
              || 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 = pattern427 (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 = pattern427 (x3);
          if (res >= 0)
            return res + 81; /* [81, 83] */
          return -1;

        default:
          return -1;
        }

    case 4:
      if (XINT (x3, 1) != 116)
        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
pattern431 (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
pattern432 (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 pattern431 (x1, E_VNx8QImode, E_VNx8HImode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4HImode:
      if (pattern431 (x1, E_VNx4QImode, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 1;

    case E_VNx2HImode:
      if (pattern431 (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
pattern433 (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
pattern434 (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 pattern433 (x1, E_VNx16QImode); /* [-1, 0] */

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

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

    case E_VNx2DImode:
      if (pattern433 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern435 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !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
pattern436 (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 pattern435 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

    case E_VNx8HImode:
      if (pattern435 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern435 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern435 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern435 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern435 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern435 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern437 (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) != 119
      || 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
pattern438 (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
pattern439 (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 pattern329 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

        case E_VNx8HImode:
          if (pattern329 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 4;

        case E_VNx4HImode:
          if (pattern329 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          return 5;

        case E_VNx2HImode:
          if (pattern329 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          return 6;

        case E_VNx4SImode:
          if (pattern329 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 7;

        case E_VNx2SImode:
          if (pattern329 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          return 8;

        case E_VNx2DImode:
          if (pattern329 (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 (pattern438 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          return 10;

        case E_VNx8QImode:
          if (pattern438 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          return 11;

        case E_VNx4QImode:
          if (pattern438 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          return 12;

        case E_VNx2QImode:
          if (pattern438 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          return 13;

        case E_VNx8HImode:
          if (pattern438 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 14;

        case E_VNx4HImode:
          if (pattern438 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          return 15;

        case E_VNx2HImode:
          if (pattern438 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          return 16;

        case E_VNx4SImode:
          if (pattern438 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 17;

        case E_VNx2SImode:
          if (pattern438 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          return 18;

        case E_VNx2DImode:
          if (pattern438 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 19;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern440 (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
pattern441 (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 pattern440 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern442 (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
pattern443 (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 pattern442 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern444 (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
pattern445 (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 pattern444 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern446 (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
pattern447 (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
pattern448 (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
pattern449 (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
pattern450 (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
pattern451 (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
pattern452 (rtx x1, rtx_code i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) != REG
      || REGNO (x3) != 66
      || GET_MODE (x3) != E_CCmode)
    return -1;
  x4 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x4) != i1)
    return -1;
  x5 = XVECEXP (x1, 0, 2);
  if (GET_CODE (x5) != i1)
    return -1;
  return 0;
}

static int
pattern453 (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
pattern454 (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 pattern453 (x5); /* [-1, 3] */
}

static int
pattern455 (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) != 293
      || 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 pattern29 (); /* [-1, 3] */
}

static int
pattern456 (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) != 293
      || 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 pattern381 (x2); /* [-1, 3] */
}

static int
pattern457 (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
pattern458 (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
pattern459 (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
pattern460 (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
pattern461 (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 pattern460 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

    case E_VNx8HImode:
      if (pattern460 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern460 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern460 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern460 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern460 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern460 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern462 (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) != 119)
        return -1;
      x4 = XEXP (x2, 1);
      if (GET_CODE (x4) != UNSPEC
          || XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 119)
        return -1;
      x7 = XVECEXP (x3, 0, 1);
      switch (GET_CODE (x7))
        {
        case SMAX:
          res = pattern461 (x1, SMIN);
          if (res >= 0)
            return res + 2; /* [2, 11] */
          return -1;

        case UMAX:
          res = pattern461 (x1, UMIN);
          if (res >= 0)
            return res + 12; /* [12, 21] */
          return -1;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern463 (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
pattern464 (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 pattern463 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

    case E_VNx8HImode:
      if (pattern463 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern463 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern463 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern463 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern463 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern463 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern465 (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
pattern466 (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 pattern463 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

        case E_VNx8HImode:
          if (pattern463 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 4;

        case E_VNx4HImode:
          if (pattern463 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          return 5;

        case E_VNx2HImode:
          if (pattern463 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          return 6;

        case E_VNx4SImode:
          if (pattern463 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 7;

        case E_VNx2SImode:
          if (pattern463 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          return 8;

        case E_VNx2DImode:
          if (pattern463 (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 (pattern465 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          return 10;

        case E_VNx8QImode:
          if (pattern465 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          return 11;

        case E_VNx4QImode:
          if (pattern465 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          return 12;

        case E_VNx2QImode:
          if (pattern465 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          return 13;

        case E_VNx8HImode:
          if (pattern465 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 14;

        case E_VNx4HImode:
          if (pattern465 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          return 15;

        case E_VNx2HImode:
          if (pattern465 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          return 16;

        case E_VNx4SImode:
          if (pattern465 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 17;

        case E_VNx2SImode:
          if (pattern465 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          return 18;

        case E_VNx2DImode:
          if (pattern465 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 19;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern467 (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 pattern463 (x1, E_VNx4SImode, E_VNx4BImode); /* [-1, 0] */

    case E_VNx2DImode:
      if (pattern463 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern468 (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
pattern469 (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) != 334)
    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) != 334)
    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 pattern468 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern470 (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
pattern471 (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 pattern470 (x4, E_CCmode, 66); /* [-1, 0] */
}

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

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

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

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

    default:
      return -1;
    }
}

static int
pattern473 (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)
        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 (x3))
        {
        case E_SImode:
          res = pattern472 ();
          if (res >= 0)
            return res + 1; /* [1, 4] */
          return -1;

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern474 (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
pattern475 (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
pattern476 (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
pattern477 (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
pattern478 (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 pattern477 (E_QImode); /* [-1, 1] */

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

    default:
      return -1;
    }
}

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

    case ASHIFT:
      if (GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      if (!aarch64_shift_imm_si (operands[2], E_QImode))
        return -1;
      operands[3] = x3;
      return 1;

    case ASHIFTRT:
      if (GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      if (!aarch64_shift_imm_si (operands[2], E_QImode))
        return -1;
      operands[3] = x3;
      return 2;

    case LSHIFTRT:
      if (GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      if (!aarch64_shift_imm_si (operands[2], E_QImode))
        return -1;
      operands[3] = x3;
      return 3;

    case ROTATERT:
      if (GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      if (!aarch64_shift_imm_si (operands[2], E_QImode))
        return -1;
      operands[3] = x3;
      return 4;

    case ROTATE:
      if (GET_MODE (x4) != E_SImode)
        return -1;
      x5 = XEXP (x4, 0);
      operands[1] = x5;
      if (!register_operand (operands[1], E_SImode))
        return -1;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      if (!aarch64_shift_imm_si (operands[2], E_QImode))
        return -1;
      operands[3] = x3;
      return 5;

    default:
      return -1;
    }
}

static int
pattern480 (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
pattern481 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !register_operand (operands[1], i1)
      || !aarch64_sve_add_operand (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern482 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  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
pattern483 (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
pattern484 (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
pattern485 (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
pattern486 (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 pattern485 (E_SImode); /* [-1, 2] */

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

    default:
      return -1;
    }
}

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
      || !aarch64_sve_arith_operand (operands[1], i1)
      || !register_operand (operands[2], i1))
    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
      || !aarch64_reg_or_zero (operands[1], i1)
      || !aarch64_borrow_operation (operands[2], i1))
    return -1;
  return 0;
}

static int
pattern489 (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
pattern490 (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 (pattern489 (x1, E_V8QImode, E_V8HImode) != 0)
        return -1;
      return 1;

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

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

    default:
      return -1;
    }
}

static int
pattern491 (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
pattern492 (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 pattern491 (x1, E_HImode, E_SImode, E_V4SImode, E_V4HImode); /* [-1, 0] */

        case E_V2DImode:
          if (pattern491 (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
pattern493 (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
pattern494 (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
pattern495 (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
pattern496 (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
pattern497 (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
pattern498 (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
pattern499 (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
pattern500 (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
pattern501 (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
pattern502 (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
pattern503 (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
pattern504 (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
pattern505 (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 pattern329 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

    case E_VNx8HImode:
      if (pattern329 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern329 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern329 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern329 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern329 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern329 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern506 (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
pattern507 (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
pattern508 (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
pattern509 (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
pattern510 (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
pattern511 (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 pattern510 (x7, E_CC_Zmode, E_DImode); /* [-1, 0] */
}

static int
pattern512 (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
pattern513 (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 pattern394 (x1, E_VNx16QImode); /* [-1, 0] */

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

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

    case E_VNx2DImode:
      if (pattern394 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern514 (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
pattern515 (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
pattern516 (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
pattern517 (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
pattern518 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], E_SImode)
      || GET_MODE (x1) != E_SImode)
    return -1;
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    case E_QImode:
      if (!aarch64_sync_memory_operand (operands[1], E_QImode))
        return -1;
      return 0;

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

    default:
      return -1;
    }
}

static int
pattern519 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1)
    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
pattern520 (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 pattern519 (x1, E_VNx2QImode); /* [-1, 0] */

        case E_VNx2HImode:
          if (pattern519 (x1, E_VNx2HImode) != 0)
            return -1;
          return 1;

        case E_VNx2SImode:
          if (pattern519 (x1, E_VNx2SImode) != 0)
            return -1;
          return 2;

        case E_VNx2DImode:
          if (pattern519 (x1, E_VNx2DImode) != 0)
            return -1;
          return 3;

        case E_VNx4QImode:
          if (pattern519 (x1, E_VNx4QImode) != 0)
            return -1;
          return 4;

        case E_VNx4HImode:
          if (pattern519 (x1, E_VNx4HImode) != 0)
            return -1;
          return 5;

        case E_VNx4SImode:
          if (pattern519 (x1, E_VNx4SImode) != 0)
            return -1;
          return 6;

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 119
          || 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
pattern521 (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
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
      || !aarch64_reg_or_zero (operands[1], i1)
      || !register_operand (operands[2], i1)
      || !aarch64_borrow_operation (operands[3], 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
      || !aarch64_reg_or_zero (operands[1], i1)
      || !aarch64_borrow_operation (operands[3], i1)
      || !register_operand (operands[2], 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)
    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
pattern525 (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
pattern526 (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
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[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
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], i1)
      || !immediate_operand (operands[3], E_SImode))
    return -1;
  return 0;
}

static int
pattern529 (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
pattern530 (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
pattern531 (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
pattern532 (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
pattern533 (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
pattern534 (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
pattern535 (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
pattern536 (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
pattern537 (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
pattern538 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!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
pattern539 (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
pattern540 (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
pattern541 (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
pattern542 (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
pattern543 (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 pattern542 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern544 (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
pattern545 (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 pattern544 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern546 (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
pattern547 (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
pattern548 (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
pattern549 (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
      || pattern54 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern550 (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
pattern551 (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
pattern552 (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
pattern553 (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
pattern554 (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 pattern5 (x1); /* [-1, 1] */
}

static int
pattern555 (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
pattern556 (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) != 120)
    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 pattern555 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

    case E_VNx8HImode:
      if (pattern555 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern555 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern555 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern555 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern555 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern555 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern557 (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
pattern558 (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
pattern559 (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 pattern557 (x1, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

    case E_VNx4SImode:
      res = pattern558 (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
pattern560 (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 pattern559 (x1); /* [-1, 5] */
}

static int
pattern561 (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
pattern562 (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 = pattern561 (x1, E_VNx4SImode, E_VNx2DImode, E_VNx4SFmode);
      if (res >= 0)
        return res + 3; /* [3, 4] */
      return -1;

    case E_VNx2DFmode:
      if (pattern557 (x1, E_VNx2DFmode, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 5;

    default:
      return -1;
    }
}

static int
pattern563 (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 pattern562 (x1); /* [-1, 5] */
}

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;
  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
pattern565 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !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
pattern566 (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 pattern564 (x1, E_VNx16QImode, E_VNx8HImode, E_VNx8BImode); /* [-1, 0] */

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

        case E_VNx2DImode:
          if (pattern564 (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 (pattern565 (x1, E_VNx8HImode, E_VNx16QImode, E_VNx8BImode) != 0)
            return -1;
          return 3;

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

        case E_VNx2DImode:
          if (pattern565 (x1, E_VNx2DImode, E_VNx4SImode, E_VNx2BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern567 (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
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
      || !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
pattern569 (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
pattern570 (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
pattern571 (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 pattern569 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

        case E_VNx2DImode:
          if (pattern569 (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 (pattern570 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          return 4;

        case E_VNx8HImode:
          if (pattern570 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 5;

        case E_VNx4SImode:
          if (pattern570 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 6;

        case E_VNx2DImode:
          if (pattern570 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern572 (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
pattern573 (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 394:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              return pattern567 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

            case E_VNx8HImode:
              if (pattern567 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 4;

            case E_VNx4HImode:
              if (pattern567 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              return 5;

            case E_VNx2HImode:
              if (pattern567 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              return 6;

            case E_VNx4SImode:
              if (pattern567 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 7;

            case E_VNx2SImode:
              if (pattern567 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              return 8;

            case E_VNx2DImode:
              if (pattern567 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 9;

            default:
              return -1;
            }

        case 206:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern568 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 10;

            case E_VNx8QImode:
              if (pattern568 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
                return -1;
              return 11;

            case E_VNx4QImode:
              if (pattern568 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
                return -1;
              return 12;

            case E_VNx2QImode:
              if (pattern568 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
                return -1;
              return 13;

            case E_VNx8HImode:
              if (pattern568 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 14;

            case E_VNx4HImode:
              if (pattern568 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              return 15;

            case E_VNx2HImode:
              if (pattern568 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              return 16;

            case E_VNx4SImode:
              if (pattern568 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 17;

            case E_VNx2SImode:
              if (pattern568 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              return 18;

            case E_VNx2DImode:
              if (pattern568 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 19;

            default:
              return -1;
            }

        case 204:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern567 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 20;

            case E_VNx8QImode:
              if (pattern567 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
                return -1;
              return 21;

            case E_VNx4QImode:
              if (pattern567 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
                return -1;
              return 22;

            case E_VNx2QImode:
              if (pattern567 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
                return -1;
              return 23;

            case E_VNx8HImode:
              if (pattern567 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 24;

            case E_VNx4HImode:
              if (pattern567 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              return 25;

            case E_VNx2HImode:
              if (pattern567 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              return 26;

            case E_VNx4SImode:
              if (pattern567 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 27;

            case E_VNx2SImode:
              if (pattern567 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              return 28;

            case E_VNx2DImode:
              if (pattern567 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 29;

            default:
              return -1;
            }

        case 205:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern567 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 30;

            case E_VNx8QImode:
              if (pattern567 (x1, E_VNx8QImode, E_VNx8BImode) != 0)
                return -1;
              return 31;

            case E_VNx4QImode:
              if (pattern567 (x1, E_VNx4QImode, E_VNx4BImode) != 0)
                return -1;
              return 32;

            case E_VNx2QImode:
              if (pattern567 (x1, E_VNx2QImode, E_VNx2BImode) != 0)
                return -1;
              return 33;

            case E_VNx8HImode:
              if (pattern567 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 34;

            case E_VNx4HImode:
              if (pattern567 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              return 35;

            case E_VNx2HImode:
              if (pattern567 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              return 36;

            case E_VNx4SImode:
              if (pattern567 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 37;

            case E_VNx2SImode:
              if (pattern567 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              return 38;

            case E_VNx2DImode:
              if (pattern567 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 39;

            default:
              return -1;
            }

        case 183:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern569 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 40;

            case E_VNx8HImode:
              if (pattern569 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 41;

            case E_VNx4SImode:
              if (pattern569 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 42;

            case E_VNx2DImode:
              if (pattern569 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 43;

            default:
              return -1;
            }

        case 187:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern569 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 44;

            case E_VNx8HImode:
              if (pattern569 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 45;

            case E_VNx4SImode:
              if (pattern569 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 46;

            case E_VNx2DImode:
              if (pattern569 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 47;

            default:
              return -1;
            }

        case 219:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern569 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 48;

            case E_VNx8HImode:
              if (pattern569 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 49;

            case E_VNx4SImode:
              if (pattern569 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 50;

            case E_VNx2DImode:
              if (pattern569 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 51;

            default:
              return -1;
            }

        case 185:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern569 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 52;

            case E_VNx8HImode:
              if (pattern569 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 53;

            case E_VNx4SImode:
              if (pattern569 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 54;

            case E_VNx2DImode:
              if (pattern569 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 55;

            default:
              return -1;
            }

        case 217:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern569 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 56;

            case E_VNx8HImode:
              if (pattern569 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 57;

            case E_VNx4SImode:
              if (pattern569 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 58;

            case E_VNx2DImode:
              if (pattern569 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 59;

            default:
              return -1;
            }

        case 198:
          res = pattern571 (x1);
          if (res >= 0)
            return res + 60; /* [60, 67] */
          return -1;

        case 184:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern569 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 68;

            case E_VNx8HImode:
              if (pattern569 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 69;

            case E_VNx4SImode:
              if (pattern569 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 70;

            case E_VNx2DImode:
              if (pattern569 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 71;

            default:
              return -1;
            }

        case 188:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern569 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 72;

            case E_VNx8HImode:
              if (pattern569 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 73;

            case E_VNx4SImode:
              if (pattern569 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 74;

            case E_VNx2DImode:
              if (pattern569 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 75;

            default:
              return -1;
            }

        case 220:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern569 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 76;

            case E_VNx8HImode:
              if (pattern569 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 77;

            case E_VNx4SImode:
              if (pattern569 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 78;

            case E_VNx2DImode:
              if (pattern569 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 79;

            default:
              return -1;
            }

        case 186:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern569 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 80;

            case E_VNx8HImode:
              if (pattern569 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 81;

            case E_VNx4SImode:
              if (pattern569 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 82;

            case E_VNx2DImode:
              if (pattern569 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 83;

            default:
              return -1;
            }

        case 218:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern569 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 84;

            case E_VNx8HImode:
              if (pattern569 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 85;

            case E_VNx4SImode:
              if (pattern569 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 86;

            case E_VNx2DImode:
              if (pattern569 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 87;

            default:
              return -1;
            }

        case 197:
          res = pattern571 (x1);
          if (res >= 0)
            return res + 88; /* [88, 95] */
          return -1;

        case 207:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern572 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 96;

            case E_VNx8HImode:
              if (pattern572 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 97;

            case E_VNx4SImode:
              if (pattern572 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 98;

            case E_VNx2DImode:
              if (pattern572 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              return 99;

            default:
              return -1;
            }

        case 208:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern572 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              return 100;

            case E_VNx8HImode:
              if (pattern572 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              return 101;

            case E_VNx4SImode:
              if (pattern572 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              return 102;

            case E_VNx2DImode:
              if (pattern572 (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 105:
          return 105;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern574 (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
pattern575 (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 (!aarch64_sync_memory_operand (operands[1], E_QImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern576 (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
pattern577 (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
pattern578 (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 pattern577 (x5, i1, i2, i3); /* [-1, 0] */
}

static int
pattern579 (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 pattern578 (x1, E_V8HImode, E_V16QImode, E_V8QImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern580 (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 pattern577 (x5, i1, i2, i3); /* [-1, 0] */
}

static int
pattern581 (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 pattern580 (x1, E_V4SImode, E_HImode, E_SImode, E_V8HImode, E_V4HImode); /* [-1, 0] */

        case E_V2DImode:
          if (pattern580 (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
pattern582 (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
pattern583 (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
pattern584 (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
pattern585 (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 pattern584 (x4); /* [-1, 1] */
}

static int
pattern586 (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
pattern587 (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 pattern586 (x2, E_SImode); /* [-1, 2] */

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

    default:
      return -1;
    }
}

static int
pattern588 (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
pattern589 (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
pattern590 (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
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 = 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
pattern592 (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
pattern593 (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
pattern594 (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 pattern593 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern595 (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 pattern593 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

        default:
          return -1;
        }

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

    default:
      return -1;
    }
}

static int
pattern596 (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
pattern597 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], 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
pattern598 (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 pattern596 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

        case E_VNx2DImode:
          if (pattern596 (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 (pattern597 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          return 4;

        case E_VNx8HImode:
          if (pattern597 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 5;

        case E_VNx4SImode:
          if (pattern597 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 6;

        case E_VNx2DImode:
          if (pattern597 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          return 7;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern599 (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
pattern600 (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
pattern601 (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 pattern599 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

        case E_VNx4SImode:
          if (pattern599 (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 (pattern600 (x1, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          return 3;

        case E_VNx8HImode:
          if (pattern600 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          return 4;

        case E_VNx4SImode:
          if (pattern600 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          return 5;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern602 (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
pattern603 (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
pattern604 (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
pattern605 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[1]))
    {
    case E_TImode:
      if (!register_operand (operands[1], E_TImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern606 (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
pattern607 (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
pattern608 (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
pattern609 (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
pattern610 (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
pattern611 (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
pattern612 (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
pattern613 (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
pattern614 (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
pattern615 (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
pattern616 (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
pattern617 (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
pattern618 (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
pattern619 (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
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[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
pattern621 (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 pattern620 (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 (pattern620 (x7, E_DImode) != 0)
        return -1;
      return 1;

    default:
      return -1;
    }
}

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

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

static int
pattern624 (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
pattern625 (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
pattern626 (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
pattern627 (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 pattern625 (x5); /* [-1, 9] */

    case LE:
      res = pattern625 (x5);
      if (res >= 0)
        return res + 10; /* [10, 19] */
      return -1;

    case EQ:
      res = pattern625 (x5);
      if (res >= 0)
        return res + 20; /* [20, 29] */
      return -1;

    case NE:
      res = pattern625 (x5);
      if (res >= 0)
        return res + 30; /* [30, 39] */
      return -1;

    case GE:
      res = pattern625 (x5);
      if (res >= 0)
        return res + 40; /* [40, 49] */
      return -1;

    case GT:
      res = pattern625 (x5);
      if (res >= 0)
        return res + 50; /* [50, 59] */
      return -1;

    case LTU:
      res = pattern626 (x5);
      if (res >= 0)
        return res + 60; /* [60, 69] */
      return -1;

    case LEU:
      res = pattern626 (x5);
      if (res >= 0)
        return res + 70; /* [70, 79] */
      return -1;

    case GEU:
      res = pattern626 (x5);
      if (res >= 0)
        return res + 80; /* [80, 89] */
      return -1;

    case GTU:
      res = pattern626 (x5);
      if (res >= 0)
        return res + 90; /* [90, 99] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern628 (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
pattern629 (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
pattern630 (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
pattern631 (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
pattern632 (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 pattern631 (x3, i1); /* [-1, 0] */
}

static int
pattern633 (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
pattern634 (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
pattern635 (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
pattern636 (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
pattern637 (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
pattern638 (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
pattern639 (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
pattern640 (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 pattern639 (x1, E_V16QImode, E_V8QImode, E_V8HImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern641 (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
pattern642 (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 pattern641 (x1, E_HImode, E_SImode, E_V4SImode, E_V8HImode, E_V4HImode); /* [-1, 0] */

        case E_V2DImode:
          if (pattern641 (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
pattern643 (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
pattern644 (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
pattern645 (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
pattern646 (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
pattern647 (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
pattern648 (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
pattern649 (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
pattern650 (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
pattern651 (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
pattern652 (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
pattern653 (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
pattern654 (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
pattern655 (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 pattern406 (x2, i1, i2); /* [-1, 0] */
}

static int
pattern656 (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
pattern657 (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
pattern658 (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
pattern659 (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_DImode:
      if (!register_operand (operands[2], E_DImode)
          || !memory_operand (operands[3], E_DImode))
        return -1;
      return 0;

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

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

    default:
      return -1;
    }
}

static int
pattern660 (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
pattern661 (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
pattern662 (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 pattern184 (x1); /* [-1, 3] */
}

static int
pattern663 (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
pattern664 (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
pattern665 (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 pattern663 (x1, E_VNx8BImode, E_VNx8HFmode); /* [-1, 0] */

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

        case E_VNx2BImode:
          if (pattern663 (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 (pattern664 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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

static int
pattern667 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, 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)
      || !register_operand (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
pattern668 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = 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 338:
      return pattern665 (x3); /* [-1, 5] */

    case 339:
      res = pattern665 (x3);
      if (res >= 0)
        return res + 6; /* [6, 11] */
      return -1;

    case 340:
      res = pattern665 (x3);
      if (res >= 0)
        return res + 12; /* [12, 17] */
      return -1;

    case 345:
      res = pattern665 (x3);
      if (res >= 0)
        return res + 18; /* [18, 23] */
      return -1;

    case 346:
      res = pattern665 (x3);
      if (res >= 0)
        return res + 24; /* [24, 29] */
      return -1;

    case 347:
      res = pattern665 (x3);
      if (res >= 0)
        return res + 30; /* [30, 35] */
      return -1;

    case 348:
      x13 = XEXP (x4, 1);
      switch (GET_CODE (x13))
        {
        case REG:
        case SUBREG:
          operands[4] = x13;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8BImode:
              if (pattern666 (x3, E_VNx8BImode, E_VNx8HFmode) != 0)
                return -1;
              return 36;

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

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

            default:
              return -1;
            }

        case NOT:
          x14 = XEXP (x13, 0);
          operands[4] = x14;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8BImode:
              if (pattern667 (x3, E_VNx8BImode, E_VNx8HFmode) != 0)
                return -1;
              return 39;

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

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

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern669 (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) != 87)
    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
pattern670 (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
pattern671 (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 pattern593 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x3, 0) != 4
          || XINT (x3, 1) != 374)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern672 (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 pattern358 (x1, E_SImode); /* [-1, 0] */

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

    default:
      return -1;
    }
}

static int
pattern673 ()
{
  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
pattern674 (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
pattern675 (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 pattern674 (x3, i1); /* [-1, 0] */
}

static int
pattern676 ()
{
  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
pattern677 (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
pattern678 (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
pattern679 (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
pattern680 (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 (pattern637 (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 (pattern637 (x1, E_V2DFmode) != 0)
        return -1;
      return 7;

    default:
      return -1;
    }
}

static int
pattern681 (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
pattern682 (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
pattern683 (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
pattern684 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1)
    return -1;
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != i1
      || !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
pattern685 (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
pattern686 (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 pattern685 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

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

    case E_VNx8HImode:
      if (pattern685 (x1, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      return 4;

    case E_VNx4HImode:
      if (pattern685 (x1, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      return 5;

    case E_VNx2HImode:
      if (pattern685 (x1, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      return 6;

    case E_VNx4SImode:
      if (pattern685 (x1, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      return 7;

    case E_VNx2SImode:
      if (pattern685 (x1, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      return 8;

    case E_VNx2DImode:
      if (pattern685 (x1, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      return 9;

    default:
      return -1;
    }
}

static int
pattern687 (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
pattern688 (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
pattern689 (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
pattern690 (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
pattern691 (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
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_lshift_operand (operands[3], i1))
    return -1;
  return 0;
}

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

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_simd_reg_or_zero (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern695 (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
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))
    return -1;
  return 0;
}

static int
pattern697 (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
pattern698 (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
pattern699 ()
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_QImode:
      if (!register_operand (operands[0], E_QImode)
          || !aarch64_simd_shift_imm_qi (operands[1], E_VOIDmode))
        return -1;
      return 0;

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

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

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

    default:
      return -1;
    }
}

static int
pattern700 (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)
    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 (x3))
    {
    case E_SImode:
      return pattern699 (); /* [-1, 3] */

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

    default:
      return -1;
    }
}

static int
pattern701 (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
pattern702 (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
pattern703 (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
pattern704 ()
{
  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;

    case E_DDmode:
      if (!memory_operand (operands[2], E_DDmode)
          || !aarch64_reg_zero_or_fp_zero (operands[3], E_DDmode))
        return -1;
      return 2;

    default:
      return -1;
    }
}

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

static int
pattern706 ()
{
  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
pattern707 (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 pattern706 (); /* [-1, 5] */
}

static int
pattern708 (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
pattern709 (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
pattern710 (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 pattern709 (x1, E_VNx16QImode); /* [-1, 0] */

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

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

    case E_VNx2DImode:
      if (pattern709 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

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

static int
pattern713 (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 pattern711 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

        case E_VNx2DFmode:
          if (pattern711 (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 (pattern712 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern714 (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
pattern715 (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 pattern711 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

        case E_VNx2DFmode:
          if (pattern711 (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 (pattern714 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern716 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  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
pattern717 (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 pattern715 (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 (pattern712 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
                return -1;
              return 6;

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

            case E_VNx2DFmode:
              if (pattern712 (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 (pattern716 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
                return -1;
              return 9;

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

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

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern718 (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
pattern719 (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
pattern720 (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
pattern721 (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
pattern722 (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
pattern723 (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
pattern724 (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
pattern725 (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
pattern726 (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
pattern727 (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
pattern728 (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
pattern729 (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
pattern730 (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
pattern731 (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
pattern732 (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 pattern711 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

        case E_VNx2DFmode:
          if (pattern711 (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 (pattern711 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern733 (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 pattern715 (x1); /* [-1, 5] */

    case 1L:
      x4 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x4, operands[1]))
        return -1;
      res = pattern715 (x1);
      if (res >= 0)
        return res + 6; /* [6, 11] */
      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
      || !register_operand (operands[2], i1)
      || !aarch64_sve_uxt_immediate (operands[3], i1))
    return -1;
  return 0;
}

static int
pattern735 (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
pattern736 (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
pattern737 (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
pattern738 (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
pattern739 (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
pattern740 (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 pattern739 (x4, i1, i2, i3); /* [-1, 0] */
}

static int
pattern741 (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
pattern742 (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
pattern743 (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
pattern744 (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 pattern622 (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
pattern745 (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) != 122
      || 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
pattern746 (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
pattern747 (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) != 122
      || 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 pattern746 (x4); /* [-1, 2] */

    case CLOBBER:
      x12 = XEXP (x11, 0);
      operands[0] = x12;
      if (!scratch_operand (operands[0], E_VNx16BImode))
        return -1;
      res = pattern746 (x4);
      if (res >= 0)
        return res + 3; /* [3, 5] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern748 (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
pattern749 (rtx x1, int i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  switch (GET_CODE (x1))
    {
    case SET:
      x2 = XEXP (x1, 1);
      if (GET_CODE (x2) != UNSPEC
          || XVECLEN (x2, 0) != 3
          || XINT (x2, 1) != i1
          || GET_MODE (x2) != E_VNx16BImode)
        return -1;
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!register_operand (operands[0], E_VNx16BImode))
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      if (!rtx_equal_p (x4, operands[1]))
        return -1;
      x5 = XVECEXP (x2, 0, 1);
      if (!rtx_equal_p (x5, operands[2]))
        return -1;
      x6 = XVECEXP (x2, 0, 2);
      if (!rtx_equal_p (x6, operands[3]))
        return -1;
      return 0;

    case CLOBBER:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      if (!scratch_operand (operands[0], E_VNx16BImode))
        return -1;
      return 1;

    default:
      return -1;
    }
}

static int
pattern750 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  x4 = XVECEXP (x3, 0, 3);
  switch (XVECLEN (x4, 0))
    {
    case 2:
      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 132:
          return pattern748 (x1, 132); /* [-1, 7] */

        case 133:
          res = pattern748 (x1, 133);
          if (res >= 0)
            return res + 8; /* [8, 15] */
          return -1;

        case 134:
          res = pattern748 (x1, 134);
          if (res >= 0)
            return res + 16; /* [16, 23] */
          return -1;

        case 135:
          res = pattern748 (x1, 135);
          if (res >= 0)
            return res + 24; /* [24, 31] */
          return -1;

        case 128:
          res = pattern748 (x1, 128);
          if (res >= 0)
            return res + 32; /* [32, 39] */
          return -1;

        case 129:
          res = pattern748 (x1, 129);
          if (res >= 0)
            return res + 40; /* [40, 47] */
          return -1;

        case 130:
          res = pattern748 (x1, 130);
          if (res >= 0)
            return res + 48; /* [48, 55] */
          return -1;

        case 131:
          res = pattern748 (x1, 131);
          if (res >= 0)
            return res + 56; /* [56, 63] */
          return -1;

        case 136:
          res = pattern748 (x1, 136);
          if (res >= 0)
            return res + 64; /* [64, 71] */
          return -1;

        case 137:
          res = pattern748 (x1, 137);
          if (res >= 0)
            return res + 72; /* [72, 79] */
          return -1;

        default:
          return -1;
        }

    case 3:
      if (XINT (x4, 1) != 288
          || GET_MODE (x4) != E_VNx16BImode)
        return -1;
      x5 = XVECEXP (x3, 0, 0);
      operands[4] = x5;
      x6 = XVECEXP (x3, 0, 1);
      operands[5] = x6;
      x7 = XVECEXP (x4, 0, 0);
      operands[1] = x7;
      if (!register_operand (operands[1], E_VNx16BImode))
        return -1;
      x8 = XVECEXP (x4, 0, 1);
      operands[2] = x8;
      if (!register_operand (operands[2], E_VNx16BImode))
        return -1;
      x9 = XVECEXP (x4, 0, 2);
      operands[3] = x9;
      if (!register_operand (operands[3], E_VNx16BImode))
        return -1;
      x10 = XVECEXP (x1, 0, 1);
      res = pattern749 (x10, 288);
      if (res >= 0)
        return res + 80; /* [80, 81] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern751 (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
pattern752 (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
pattern753 (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 pattern711 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

        case E_VNx2DFmode:
          if (pattern711 (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 (pattern752 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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, 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 pattern712 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

        case E_VNx2DFmode:
          if (pattern712 (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
pattern755 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2;
  int res ATTRIBUTE_UNUSED;
  if (!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
pattern756 (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 pattern711 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

        case E_VNx2DFmode:
          if (pattern711 (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 (pattern755 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern757 (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
pattern758 (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 pattern711 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

        case E_VNx2DFmode:
          if (pattern711 (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 (pattern757 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern759 (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
pattern760 (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
pattern761 (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 pattern759 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

        case E_VNx2DFmode:
          if (pattern759 (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 (pattern760 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern762 (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
pattern763 (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
pattern764 (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
pattern765 (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
pattern766 (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
pattern767 (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
pattern768 (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
pattern769 (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 pattern768 (x1, E_VNx16QImode); /* [-1, 0] */

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

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

    case E_VNx2DImode:
      if (pattern768 (x1, E_VNx2DImode) != 0)
        return -1;
      return 3;

    default:
      return -1;
    }
}

static int
pattern770 (rtx x1, machine_mode i1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], i1)
      || GET_MODE (x1) != i1
      || !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
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
      || !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
pattern772 (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 pattern559 (x1); /* [-1, 5] */
}

static int
pattern773 (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 pattern559 (x1); /* [-1, 5] */
}

static int
pattern774 (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
pattern775 (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 pattern562 (x1); /* [-1, 5] */
}

static int
pattern776 (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 pattern562 (x1); /* [-1, 5] */
}

static int
pattern777 (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 pattern759 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

        case E_VNx2DFmode:
          if (pattern759 (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 (pattern759 (x1, E_VNx8HFmode, E_VNx8BImode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern778 (rtx x1, machine_mode i1, machine_mode i2)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  if (!register_operand (operands[0], 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
pattern779 (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
pattern780 (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 pattern779 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

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

    case E_VNx8BImode:
      if (!aarch64_simd_imm_zero (operands[3], E_VNx8BImode))
        return -1;
      return 1;

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

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

    default:
      return -1;
    }
}

static int
pattern782 (rtx x1)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  if (XVECLEN (x1, 0) != 2
      || XINT (x1, 1) != 119
      || GET_MODE (x1) != E_VNx2DImode
      || !register_operand (operands[5], E_VNx2BImode))
    return -1;
  return 0;
}

static int
pattern783 (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
pattern784 (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
pattern785 (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
pattern786 (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 pattern784 (x1, E_VNx8BImode, E_VNx8HFmode); /* [-1, 0] */

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

        case E_VNx2BImode:
          if (pattern784 (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 (pattern785 (x1, E_VNx8BImode, E_VNx8HFmode) != 0)
            return -1;
          return 3;

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

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

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern787 (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
pattern788 (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 pattern739 (x5, i1, i2, i3); /* [-1, 0] */
}

static int
pattern789 (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
pattern790 (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
pattern791 (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
pattern792 (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
pattern793 (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
pattern794 (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
pattern795 (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
pattern796 (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)
              || pattern795 (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)
              || pattern795 (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
pattern797 (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
pattern798 (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
pattern799 (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 pattern798 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern800 (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
pattern801 (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
pattern802 (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
pattern803 (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
pattern804 (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)
      || pattern631 (x1, i1) != 0)
    return -1;
  return 0;
}

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

static int
pattern806 (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
pattern807 (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
pattern808 (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
pattern809 (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
pattern810 (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
pattern811 (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
pattern812 (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
pattern813 (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 pattern810 (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 (pattern811 (x6, E_VNx16BImode) != 0)
                return -1;
              return 4;

            case E_VNx8BImode:
              if (pattern811 (x6, E_VNx8BImode) != 0)
                return -1;
              return 5;

            case E_VNx4BImode:
              if (pattern811 (x6, E_VNx4BImode) != 0)
                return -1;
              return 6;

            case E_VNx2BImode:
              if (pattern811 (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 (pattern812 (x6, E_VNx16BImode) != 0)
                return -1;
              return 8;

            case E_VNx8BImode:
              if (pattern812 (x6, E_VNx8BImode) != 0)
                return -1;
              return 9;

            case E_VNx4BImode:
              if (pattern812 (x6, E_VNx4BImode) != 0)
                return -1;
              return 10;

            case E_VNx2BImode:
              if (pattern812 (x6, E_VNx2BImode) != 0)
                return -1;
              return 11;

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern814 (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
pattern815 (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 pattern814 (x5, i1, i2, i3); /* [-1, 0] */
}

static int
pattern816 (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
pattern817 (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
pattern818 (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 pattern817 (x1); /* [-1, 1] */
}

static int
pattern819 (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
pattern820 (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 pattern819 (x1, E_SImode); /* [-1, 2] */

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

    default:
      return -1;
    }
}

static int
pattern821 (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
pattern822 (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
pattern823 (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
pattern824 (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
pattern825 (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
pattern826 (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
pattern827 (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 pattern826 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern828 (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
pattern829 (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 pattern828 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern830 (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
pattern831 (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 pattern830 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern832 (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
pattern833 (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
pattern834 (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
pattern835 (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
pattern836 (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
pattern837 (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_imm_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
pattern838 (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
pattern839 (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
pattern840 (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
pattern841 (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
pattern842 (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
      || pattern841 (i2, i3) != 0)
    return -1;
  return 0;
}

static int
pattern843 (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
pattern844 (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
pattern845 (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 pattern814 (x6, i1, i2, i3); /* [-1, 0] */
}

static int
pattern846 (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 pattern814 (x6, i1, i2, i3); /* [-1, 0] */
}

static int
pattern847 (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
pattern848 (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
pattern849 (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
pattern850 (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
pattern851 (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
pattern852 (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 pattern851 (x1, E_VNx16BImode); /* [-1, 0] */

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

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

        case E_VNx2BImode:
          if (pattern851 (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
pattern853 (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 pattern795 (x8, i1); /* [-1, 0] */
}

static int
pattern854 (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
pattern855 (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
pattern856 (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
pattern857 (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 pattern852 (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 (pattern853 (x1, E_VNx16BImode) != 0)
                    return -1;
                  return 8;

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

                case E_VNx4BImode:
                  if (pattern853 (x1, E_VNx4BImode) != 0)
                    return -1;
                  return 10;

                case E_VNx2BImode:
                  if (pattern853 (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 (pattern854 (x8, E_VNx16BImode) != 0)
                    return -1;
                  return 12;

                case E_VNx8BImode:
                  if (pattern854 (x8, E_VNx8BImode) != 0)
                    return -1;
                  return 13;

                case E_VNx4BImode:
                  if (pattern854 (x8, E_VNx4BImode) != 0)
                    return -1;
                  return 14;

                case E_VNx2BImode:
                  if (pattern854 (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 (pattern855 (x1, E_VNx16BImode) != 0)
                    return -1;
                  return 16;

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

                case E_VNx4BImode:
                  if (pattern855 (x1, E_VNx4BImode) != 0)
                    return -1;
                  return 18;

                case E_VNx2BImode:
                  if (pattern855 (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 (pattern856 (x8, E_VNx16BImode) != 0)
                    return -1;
                  return 20;

                case E_VNx8BImode:
                  if (pattern856 (x8, E_VNx8BImode) != 0)
                    return -1;
                  return 21;

                case E_VNx4BImode:
                  if (pattern856 (x8, E_VNx4BImode) != 0)
                    return -1;
                  return 22;

                case E_VNx2BImode:
                  if (pattern856 (x8, E_VNx2BImode) != 0)
                    return -1;
                  return 23;

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern858 (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
pattern859 (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
pattern860 (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
pattern861 (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
pattern862 (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
pattern863 (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)
      || !register_operand (operands[3], i2)
      || !register_operand (operands[4], 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];
  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)
      || !register_operand (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
pattern865 (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
pattern866 (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
pattern867 (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
pattern868 (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 pattern867 (x3, E_SImode); /* [-1, 0] */

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

    default:
      return -1;
    }
}

static int
pattern869 (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
pattern870 (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 pattern869 (x1, E_SImode); /* [-1, 2] */

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

    default:
      return -1;
    }
}

static int
pattern871 (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
pattern872 (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, 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);
  return pattern749 (x7, i1); /* [-1, 1] */
}

static int
pattern873 (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_imm_zero (operands[3], E_VNx16BImode))
    return -1;
  return pattern872 (x1, i1); /* [-1, 1] */
}

static int
pattern874 (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 pattern872 (x1, i1); /* [-1, 1] */
}

static int
pattern875 (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
pattern876 (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
pattern877 (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
pattern878 (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
pattern879 (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
pattern880 (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
pattern881 (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 pattern468 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern882 (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 pattern468 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern883 (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
pattern884 (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
pattern885 (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
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;
  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
pattern887 (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
pattern888 (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
pattern889 (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
pattern890 (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
pattern891 (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
pattern892 (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 pattern891 (x1, E_SImode); /* [-1, 0] */

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

    case E_SFmode:
      if (pattern891 (x1, E_SFmode) != 0)
        return -1;
      return 2;

    case E_DFmode:
      if (pattern891 (x1, E_DFmode) != 0)
        return -1;
      return 3;

    case E_TImode:
      if (pattern891 (x1, E_TImode) != 0)
        return -1;
      return 4;

    case E_TFmode:
      if (pattern891 (x1, E_TFmode) != 0)
        return -1;
      return 5;

    case E_TDmode:
      if (pattern891 (x1, E_TDmode) != 0)
        return -1;
      return 6;

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

    default:
      return -1;
    }
}

static int
pattern893 (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
pattern894 (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
pattern895 (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 pattern894 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern896 (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
pattern897 (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 pattern896 (x1, E_QImode); /* [-1, 0] */

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

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

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

    default:
      return -1;
    }
}

static int
pattern898 (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
pattern899 (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 pattern895 (x6); /* [-1, 3] */

    case MINUS:
      res = pattern895 (x6);
      if (res >= 0)
        return res + 4; /* [4, 7] */
      return -1;

    case IOR:
      res = pattern897 (x6);
      if (res >= 0)
        return res + 8; /* [8, 11] */
      return -1;

    case XOR:
      res = pattern897 (x6);
      if (res >= 0)
        return res + 12; /* [12, 15] */
      return -1;

    case AND:
      res = pattern897 (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 (pattern898 (x6, E_QImode) != 0)
            return -1;
          return 20;

        case E_HImode:
          if (pattern898 (x6, E_HImode) != 0)
            return -1;
          return 21;

        case E_SImode:
          if (pattern898 (x6, E_SImode) != 0)
            return -1;
          return 22;

        case E_DImode:
          if (pattern898 (x6, E_DImode) != 0)
            return -1;
          return 23;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern900 (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
pattern901 (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
pattern902 (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
pattern903 (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
pattern904 (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)
      || pattern903 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern905 (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
pattern906 (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
pattern907 (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 pattern906 (x1, E_VNx16QImode, E_VNx16BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern908 (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
pattern909 (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 pattern893 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

static int
pattern910 (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
pattern911 (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
pattern912 (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
pattern913 (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 pattern912 (x1, E_SImode); /* [-1, 2] */

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

    default:
      return -1;
    }
}

static int
pattern914 (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
pattern915 (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
pattern916 (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 pattern825 (x3, E_QImode); /* [-1, 0] */

    case E_HImode:
      x3 = XEXP (x1, 1);
      if (pattern825 (x3, E_HImode) != 0)
        return -1;
      return 1;

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

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

    default:
      return -1;
    }
}

static int
pattern917 (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
pattern918 (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 pattern917 (x1, E_VNx8HFmode, E_VNx8BImode); /* [-1, 0] */

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

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

    default:
      return -1;
    }
}

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

static int
pattern921 (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 pattern920 (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 = pattern919 (x1);
          if (res >= 0)
            return res + 8; /* [8, 15] */
          return -1;

        default:
          return -1;
        }

    case ZERO_EXTEND:
      res = pattern920 (x1);
      if (res >= 0)
        return res + 16; /* [16, 23] */
      return -1;

    default:
      return -1;
    }
}

static int
pattern922 (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
pattern923 (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
pattern924 (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
pattern925 (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 pattern924 (x1, E_SImode); /* [-1, 2] */

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

    default:
      return -1;
    }
}

static int
pattern926 (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
pattern927 (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;

    case E_TDmode:
      if (!register_operand (operands[2], E_TDmode)
          || GET_MODE (x8) != E_TDmode
          || !register_operand (operands[3], E_TDmode))
        return -1;
      return 6;

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

    default:
      return -1;
    }
}

static int
pattern928 (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
pattern929 (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
pattern930 ()
{
  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
pattern931 (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
pattern932 (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
pattern933 (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
pattern934 (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
pattern935 (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) != 292)
        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
pattern936 (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
pattern937 (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)
      || pattern936 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

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

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, 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
pattern940 (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
pattern941 (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)
      || pattern903 (x1, i1, i2) != 0)
    return -1;
  return 0;
}

static int
pattern942 ()
{
  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
pattern943 ()
{
  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
pattern944 ()
{
  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
pattern945 (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) != 120)
        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 = pattern942 ();
          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 = pattern943 ();
          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 = pattern944 ();
          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 = pattern942 ();
          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 = pattern943 ();
          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 = pattern944 ();
          if (res >= 0)
            return res + 16; /* [16, 19] */
          return -1;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern946 ()
{
  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
pattern947 ()
{
  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
pattern948 ()
{
  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
pattern949 (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) != 120)
        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 = pattern946 ();
          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 = pattern947 ();
          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 = pattern948 ();
          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 = pattern946 ();
          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 = pattern947 ();
          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 = pattern948 ();
          if (res >= 0)
            return res + 16; /* [16, 19] */
          return -1;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern950 (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) != 291
          || 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
pattern951 (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
pattern952 (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
pattern953 (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
pattern954 (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
pattern955 (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
pattern956 (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
pattern957 (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
pattern958 ()
{
  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
pattern959 ()
{
  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
pattern960 (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
pattern961 (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
pattern962 (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
pattern963 (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) != 120)
        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 pattern962 (x1, E_VNx16BImode, E_VNx16QImode); /* [-1, 0] */

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

        case E_VNx4BImode:
          if (pattern962 (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
pattern964 (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
pattern965 (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
pattern966 (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) != 120)
        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 pattern964 (x1, E_VNx16BImode, E_VNx16QImode); /* [-1, 0] */

        case E_VNx8BImode:
          if (pattern964 (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 (pattern965 (x13, E_VNx16BImode, E_VNx16QImode) != 0)
            return -1;
          return 2;

        case E_VNx8BImode:
          x13 = XVECEXP (x12, 0, 2);
          if (pattern965 (x13, E_VNx8BImode, E_VNx8HImode) != 0)
            return -1;
          return 3;

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
pattern967 (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
pattern968 (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) != 107)
        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 (pattern879 (x2, E_CCFPmode))
            {
            case 0:
              if (
#line 574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 5; /* ccmpccfpsf */
              break;

            case 1:
              if (
#line 574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 6; /* ccmpccfpdf */
              break;

            default:
              break;
            }
        }
      if (!cc_register (operands[1], E_CCFPEmode))
        return -1;
      switch (pattern879 (x2, E_CCFPEmode))
        {
        case 0:
          if (!
#line 574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 7; /* ccmpccfpesf */

        case 1:
          if (!
#line 574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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) != 107)
        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 (pattern880 (x2, E_CCFPmode))
            {
            case 0:
              if (
#line 611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 11; /* ccmpccfpsf_rev */
              break;

            case 1:
              if (
#line 611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern880 (x2, E_CCFPEmode))
        {
        case 0:
          if (!
#line 611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 13; /* ccmpccfpesf_rev */

        case 1:
          if (!
#line 611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern721 (x2, E_QImode) != 0
              || !
#line 4196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 491; /* *cmovqi_insn */

        case E_HImode:
          if (pattern721 (x2, E_HImode) != 0
              || !
#line 4196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 492; /* *cmovhi_insn */

        case E_SImode:
          if (pattern721 (x2, E_SImode) != 0
              || !
#line 4196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 493; /* *cmovsi_insn */

        case E_DImode:
          if (pattern721 (x2, E_DImode) != 0
              || !
#line 4196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 494; /* *cmovdi_insn */

        case E_SFmode:
          if (pattern722 (x2, E_SFmode) != 0
              || !
#line 4252 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 497; /* *cmovsf_insn */

        case E_DFmode:
          if (pattern722 (x2, E_DFmode) != 0
              || !
#line 4252 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 498; /* *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 496; /* *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 (pattern473 (x2, pnum_clobbers))
        {
        case 0:
          x7 = XEXP (x6, 1);
          operands[1] = x7;
          x8 = XEXP (x3, 0);
          operands[2] = x8;
          switch (pattern453 (x3))
            {
            case 0:
              if ((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                return 16; /* *compare_condjumpsi */
              break;

            case 1:
              if ((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                return 18; /* *compare_condjumpsi */
              break;

            case 2:
              if ((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                return 20; /* *compare_condjumpdi */
              break;

            case 3:
              if ((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 931 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 931 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 32; /* *cbeqdi1 */

            default:
              return -1;
            }

        case 1:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 34; /* *tbeqqisi1 */

        case 2:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 38; /* *tbeqhisi1 */

        case 3:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 42; /* *tbeqsisi1 */

        case 4:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 46; /* *tbeqdisi1 */

        case 5:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 36; /* *tbeqqidi1 */

        case 6:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 40; /* *tbeqhidi1 */

        case 7:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 44; /* *tbeqsidi1 */

        case 8:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 48; /* *tbeqdidi1 */

        default:
          return -1;
        }

    case NE:
      switch (pattern473 (x2, pnum_clobbers))
        {
        case 0:
          x7 = XEXP (x6, 1);
          operands[1] = x7;
          x8 = XEXP (x3, 0);
          operands[2] = x8;
          switch (pattern453 (x3))
            {
            case 0:
              if ((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                return 17; /* *compare_condjumpsi */
              break;

            case 1:
              if ((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                return 19; /* *compare_condjumpsi */
              break;

            case 2:
              if ((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                return 21; /* *compare_condjumpdi */
              break;

            case 3:
              if ((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 931 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 931 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                return -1;
              return 33; /* *cbnedi1 */

            default:
              return -1;
            }

        case 1:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 35; /* *tbneqisi1 */

        case 2:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 39; /* *tbnehisi1 */

        case 3:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 43; /* *tbnesisi1 */

        case 4:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 47; /* *tbnedisi1 */

        case 5:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 37; /* *tbneqidi1 */

        case 6:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 41; /* *tbnehidi1 */

        case 7:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 45; /* *tbnesidi1 */

        case 8:
          if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 49; /* *tbnedidi1 */

        default:
          return -1;
        }

    case LT:
      switch (pattern474 (x2, pnum_clobbers))
        {
        case 0:
          if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 50; /* *cbltqi1 */

        case 1:
          if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 52; /* *cblthi1 */

        case 2:
          if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 54; /* *cbltsi1 */

        case 3:
          if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 56; /* *cbltdi1 */

        default:
          return -1;
        }

    case GE:
      switch (pattern474 (x2, pnum_clobbers))
        {
        case 0:
          if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 51; /* *cbgeqi1 */

        case 1:
          if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 53; /* *cbgehi1 */

        case 2:
          if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 55; /* *cbgesi1 */

        case 3:
          if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
            return -1;
          *pnum_clobbers = 1;
          return 57; /* *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 5896 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!(UINTVAL (operands[1]) == 0
     || (UINTVAL (operands[2]) + UINTVAL (operands[1])
	 > GET_MODE_BITSIZE (SImode)))))
            return -1;
          return 837; /* *insv_regsi */

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || !register_operand (operands[3], E_DImode)
              || !
#line 5896 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!(UINTVAL (operands[1]) == 0
     || (UINTVAL (operands[2]) + UINTVAL (operands[1])
	 > GET_MODE_BITSIZE (DImode)))))
            return -1;
          return 838; /* *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-13.5.0-r0/gcc-13.5.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 4588; /* *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-13.5.0-r0/gcc-13.5.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 4589; /* *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-13.5.0-r0/gcc-13.5.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 4590; /* *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-13.5.0-r0/gcc-13.5.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 4591; /* *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-13.5.0-r0/gcc-13.5.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 4592; /* *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-13.5.0-r0/gcc-13.5.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 4593; /* *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-13.5.0-r0/gcc-13.5.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 4594; /* *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-13.5.0-r0/gcc-13.5.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 4595; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4671; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4672; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4673; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4674; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4675; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4676; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4677; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4678; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4679; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4680; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4681; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4682; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4683; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4684; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4685; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4686; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4687; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4688; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4689; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4690; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4691; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4692; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4693; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          return 4694; /* *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 1391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) < GET_MODE_BITSIZE (SImode)
   && UINTVAL (operands[1]) % 16 == 0))
        return -1;
      return 66; /* 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 1391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) < GET_MODE_BITSIZE (DImode)
   && UINTVAL (operands[1]) % 16 == 0))
        return -1;
      return 67; /* 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 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], XImode)
       || register_operand (operands[1], XImode))))
    return 3985; /* *aarch64_movxi */
  if (!nonimmediate_operand (operands[0], E_XImode)
      || !general_operand (operands[1], E_XImode)
      || !
#line 7404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], XImode)
       || register_operand (operands[1], XImode))))
    return -1;
  return 4067; /* *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 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], CImode)
       || register_operand (operands[1], CImode))))
    return 3984; /* *aarch64_movci */
  if (!nonimmediate_operand (operands[0], E_CImode)
      || !general_operand (operands[1], E_CImode)
      || !
#line 7378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], CImode)
       || register_operand (operands[1], CImode))))
    return -1;
  return 4050; /* *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 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], OImode)
       || register_operand (operands[1], OImode))))
    return 3983; /* *aarch64_movoi */
  if (!nonimmediate_operand (operands[0], E_OImode)
      || !general_operand (operands[1], E_OImode)
      || !
#line 7349 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], OImode)
       || register_operand (operands[1], OImode))))
    return -1;
  return 4033; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8BFmode)
       || register_operand (operands[1], V4x8BFmode))))
    return 3982; /* *aarch64_movv4x8bf */
  if (!nonimmediate_operand (operands[0], E_V4x8BFmode)
      || !general_operand (operands[1], E_V4x8BFmode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x8BFmode)
       || register_operand (operands[1], V4x8BFmode))))
    return -1;
  return 4066; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2DFmode)
       || register_operand (operands[1], V4x2DFmode))))
    return 3981; /* *aarch64_movv4x2df */
  if (!nonimmediate_operand (operands[0], E_V4x2DFmode)
      || !general_operand (operands[1], E_V4x2DFmode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x2DFmode)
       || register_operand (operands[1], V4x2DFmode))))
    return -1;
  return 4065; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4SFmode)
       || register_operand (operands[1], V4x4SFmode))))
    return 3980; /* *aarch64_movv4x4sf */
  if (!nonimmediate_operand (operands[0], E_V4x4SFmode)
      || !general_operand (operands[1], E_V4x4SFmode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x4SFmode)
       || register_operand (operands[1], V4x4SFmode))))
    return -1;
  return 4064; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8HFmode)
       || register_operand (operands[1], V4x8HFmode))))
    return 3979; /* *aarch64_movv4x8hf */
  if (!nonimmediate_operand (operands[0], E_V4x8HFmode)
      || !general_operand (operands[1], E_V4x8HFmode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x8HFmode)
       || register_operand (operands[1], V4x8HFmode))))
    return -1;
  return 4063; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2DImode)
       || register_operand (operands[1], V4x2DImode))))
    return 3978; /* *aarch64_movv4x2di */
  if (!nonimmediate_operand (operands[0], E_V4x2DImode)
      || !general_operand (operands[1], E_V4x2DImode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x2DImode)
       || register_operand (operands[1], V4x2DImode))))
    return -1;
  return 4062; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4SImode)
       || register_operand (operands[1], V4x4SImode))))
    return 3977; /* *aarch64_movv4x4si */
  if (!nonimmediate_operand (operands[0], E_V4x4SImode)
      || !general_operand (operands[1], E_V4x4SImode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x4SImode)
       || register_operand (operands[1], V4x4SImode))))
    return -1;
  return 4061; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8HImode)
       || register_operand (operands[1], V4x8HImode))))
    return 3976; /* *aarch64_movv4x8hi */
  if (!nonimmediate_operand (operands[0], E_V4x8HImode)
      || !general_operand (operands[1], E_V4x8HImode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x8HImode)
       || register_operand (operands[1], V4x8HImode))))
    return -1;
  return 4060; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x16QImode)
       || register_operand (operands[1], V4x16QImode))))
    return 3975; /* *aarch64_movv4x16qi */
  if (!nonimmediate_operand (operands[0], E_V4x16QImode)
      || !general_operand (operands[1], E_V4x16QImode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x16QImode)
       || register_operand (operands[1], V4x16QImode))))
    return -1;
  return 4059; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8BFmode)
       || register_operand (operands[1], V3x8BFmode))))
    return 3974; /* *aarch64_movv3x8bf */
  if (!nonimmediate_operand (operands[0], E_V3x8BFmode)
      || !general_operand (operands[1], E_V3x8BFmode)
      || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x8BFmode)
       || register_operand (operands[1], V3x8BFmode))))
    return -1;
  return 4049; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2DFmode)
       || register_operand (operands[1], V3x2DFmode))))
    return 3973; /* *aarch64_movv3x2df */
  if (!nonimmediate_operand (operands[0], E_V3x2DFmode)
      || !general_operand (operands[1], E_V3x2DFmode)
      || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x2DFmode)
       || register_operand (operands[1], V3x2DFmode))))
    return -1;
  return 4048; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4SFmode)
       || register_operand (operands[1], V3x4SFmode))))
    return 3972; /* *aarch64_movv3x4sf */
  if (!nonimmediate_operand (operands[0], E_V3x4SFmode)
      || !general_operand (operands[1], E_V3x4SFmode)
      || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x4SFmode)
       || register_operand (operands[1], V3x4SFmode))))
    return -1;
  return 4047; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8HFmode)
       || register_operand (operands[1], V3x8HFmode))))
    return 3971; /* *aarch64_movv3x8hf */
  if (!nonimmediate_operand (operands[0], E_V3x8HFmode)
      || !general_operand (operands[1], E_V3x8HFmode)
      || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x8HFmode)
       || register_operand (operands[1], V3x8HFmode))))
    return -1;
  return 4046; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2DImode)
       || register_operand (operands[1], V3x2DImode))))
    return 3970; /* *aarch64_movv3x2di */
  if (!nonimmediate_operand (operands[0], E_V3x2DImode)
      || !general_operand (operands[1], E_V3x2DImode)
      || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x2DImode)
       || register_operand (operands[1], V3x2DImode))))
    return -1;
  return 4045; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4SImode)
       || register_operand (operands[1], V3x4SImode))))
    return 3969; /* *aarch64_movv3x4si */
  if (!nonimmediate_operand (operands[0], E_V3x4SImode)
      || !general_operand (operands[1], E_V3x4SImode)
      || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x4SImode)
       || register_operand (operands[1], V3x4SImode))))
    return -1;
  return 4044; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8HImode)
       || register_operand (operands[1], V3x8HImode))))
    return 3968; /* *aarch64_movv3x8hi */
  if (!nonimmediate_operand (operands[0], E_V3x8HImode)
      || !general_operand (operands[1], E_V3x8HImode)
      || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x8HImode)
       || register_operand (operands[1], V3x8HImode))))
    return -1;
  return 4043; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x16QImode)
       || register_operand (operands[1], V3x16QImode))))
    return 3967; /* *aarch64_movv3x16qi */
  if (!nonimmediate_operand (operands[0], E_V3x16QImode)
      || !general_operand (operands[1], E_V3x16QImode)
      || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x16QImode)
       || register_operand (operands[1], V3x16QImode))))
    return -1;
  return 4042; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8BFmode)
       || register_operand (operands[1], V2x8BFmode))))
    return 3966; /* *aarch64_movv2x8bf */
  if (!nonimmediate_operand (operands[0], E_V2x8BFmode)
      || !general_operand (operands[1], E_V2x8BFmode)
      || !
#line 7333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x8BFmode)
       || register_operand (operands[1], V2x8BFmode))))
    return -1;
  return 4032; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2DFmode)
       || register_operand (operands[1], V2x2DFmode))))
    return 3965; /* *aarch64_movv2x2df */
  if (!nonimmediate_operand (operands[0], E_V2x2DFmode)
      || !general_operand (operands[1], E_V2x2DFmode)
      || !
#line 7333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x2DFmode)
       || register_operand (operands[1], V2x2DFmode))))
    return -1;
  return 4031; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4SFmode)
       || register_operand (operands[1], V2x4SFmode))))
    return 3964; /* *aarch64_movv2x4sf */
  if (!nonimmediate_operand (operands[0], E_V2x4SFmode)
      || !general_operand (operands[1], E_V2x4SFmode)
      || !
#line 7333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x4SFmode)
       || register_operand (operands[1], V2x4SFmode))))
    return -1;
  return 4030; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8HFmode)
       || register_operand (operands[1], V2x8HFmode))))
    return 3963; /* *aarch64_movv2x8hf */
  if (!nonimmediate_operand (operands[0], E_V2x8HFmode)
      || !general_operand (operands[1], E_V2x8HFmode)
      || !
#line 7333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x8HFmode)
       || register_operand (operands[1], V2x8HFmode))))
    return -1;
  return 4029; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2DImode)
       || register_operand (operands[1], V2x2DImode))))
    return 3962; /* *aarch64_movv2x2di */
  if (!nonimmediate_operand (operands[0], E_V2x2DImode)
      || !general_operand (operands[1], E_V2x2DImode)
      || !
#line 7333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x2DImode)
       || register_operand (operands[1], V2x2DImode))))
    return -1;
  return 4028; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4SImode)
       || register_operand (operands[1], V2x4SImode))))
    return 3961; /* *aarch64_movv2x4si */
  if (!nonimmediate_operand (operands[0], E_V2x4SImode)
      || !general_operand (operands[1], E_V2x4SImode)
      || !
#line 7333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x4SImode)
       || register_operand (operands[1], V2x4SImode))))
    return -1;
  return 4027; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8HImode)
       || register_operand (operands[1], V2x8HImode))))
    return 3960; /* *aarch64_movv2x8hi */
  if (!nonimmediate_operand (operands[0], E_V2x8HImode)
      || !general_operand (operands[1], E_V2x8HImode)
      || !
#line 7333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x8HImode)
       || register_operand (operands[1], V2x8HImode))))
    return -1;
  return 4026; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x16QImode)
       || register_operand (operands[1], V2x16QImode))))
    return 3959; /* *aarch64_movv2x16qi */
  if (!nonimmediate_operand (operands[0], E_V2x16QImode)
      || !general_operand (operands[1], E_V2x16QImode)
      || !
#line 7333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x16QImode)
       || register_operand (operands[1], V2x16QImode))))
    return -1;
  return 4025; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4BFmode)
       || register_operand (operands[1], V4x4BFmode))))
    return 3958; /* *aarch64_movv4x4bf */
  if (!nonimmediate_operand (operands[0], E_V4x4BFmode)
      || !general_operand (operands[1], E_V4x4BFmode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x4BFmode)
       || register_operand (operands[1], V4x4BFmode))))
    return -1;
  return 4058; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x1DFmode)
       || register_operand (operands[1], V4x1DFmode))))
    return 3957; /* *aarch64_movv4x1df */
  if (!nonimmediate_operand (operands[0], E_V4x1DFmode)
      || !general_operand (operands[1], E_V4x1DFmode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x1DFmode)
       || register_operand (operands[1], V4x1DFmode))))
    return -1;
  return 4057; /* *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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2SFmode)
       || register_operand (operands[1], V4x2SFmode))))
    return 3956; /* *aarch64_movv4x2sf */
  if (!nonimmediate_operand (operands[0], E_V4x2SFmode)
      || !general_operand (operands[1], E_V4x2SFmode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x2SFmode)
       || register_operand (operands[1], V4x2SFmode))))
    return -1;
  return 4056; /* *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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x4HFmode)
      && aarch64_simd_general_operand (operands[1], E_V4x4HFmode)
      && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4HFmode)
       || register_operand (operands[1], V4x4HFmode))))
    return 3955; /* *aarch64_movv4x4hf */
  if (!nonimmediate_operand (operands[0], E_V4x4HFmode)
      || !general_operand (operands[1], E_V4x4HFmode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x4HFmode)
       || register_operand (operands[1], V4x4HFmode))))
    return -1;
  return 4055; /* *aarch64_be_movv4x4hf */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x1DImode)
      && aarch64_simd_general_operand (operands[1], E_V4x1DImode)
      && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x1DImode)
       || register_operand (operands[1], V4x1DImode))))
    return 3954; /* *aarch64_movv4x1di */
  if (!nonimmediate_operand (operands[0], E_V4x1DImode)
      || !general_operand (operands[1], E_V4x1DImode)
      || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x1DImode)
       || register_operand (operands[1], V4x1DImode))))
    return -1;
  return 4054; /* *aarch64_be_movv4x1di */
}

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;
  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 1239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((register_operand (operands[0], QImode)
    || aarch64_reg_or_zero (operands[1], QImode))))
        return -1;
      return 62; /* *movqi_aarch64 */

    case E_HImode:
      if (!nonimmediate_operand (operands[0], E_HImode)
          || !aarch64_mov_operand (operands[1], E_HImode)
          || !
#line 1239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((register_operand (operands[0], HImode)
    || aarch64_reg_or_zero (operands[1], HImode))))
        return -1;
      return 63; /* *movhi_aarch64 */

    case E_SImode:
      if (!nonimmediate_operand (operands[0], E_SImode)
          || !aarch64_mov_operand (operands[1], E_SImode)
          || !
#line 1313 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((register_operand (operands[0], SImode)
    || aarch64_reg_or_zero (operands[1], SImode))))
        return -1;
      return 64; /* *movsi_aarch64 */

    case E_DImode:
      if (!nonimmediate_operand (operands[0], E_DImode)
          || !aarch64_mov_operand (operands[1], E_DImode)
          || !
#line 1351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((register_operand (operands[0], DImode)
    || aarch64_reg_or_zero (operands[1], DImode))))
        return -1;
      return 65; /* *movdi_aarch64 */

    case E_HFmode:
      if (!nonimmediate_operand (operands[0], E_HFmode)
          || !general_operand (operands[1], E_HFmode)
          || !
#line 1497 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], HFmode)
    || aarch64_reg_or_fp_zero (operands[1], HFmode))))
        return -1;
      return 71; /* *movhf_aarch64 */

    case E_BFmode:
      if (!nonimmediate_operand (operands[0], E_BFmode)
          || !general_operand (operands[1], E_BFmode)
          || !
#line 1497 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], BFmode)
    || aarch64_reg_or_fp_zero (operands[1], BFmode))))
        return -1;
      return 72; /* *movbf_aarch64 */

    case E_SDmode:
      if (!nonimmediate_operand (operands[0], E_SDmode)
          || !general_operand (operands[1], E_SDmode)
          || !
#line 1524 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], SDmode)
    || aarch64_reg_or_fp_zero (operands[1], SDmode))))
        return -1;
      return 73; /* *movsd_aarch64 */

    case E_SFmode:
      if (!nonimmediate_operand (operands[0], E_SFmode)
          || !general_operand (operands[1], E_SFmode)
          || !
#line 1524 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], SFmode)
    || aarch64_reg_or_fp_zero (operands[1], SFmode))))
        return -1;
      return 74; /* *movsf_aarch64 */

    case E_DDmode:
      if (!nonimmediate_operand (operands[0], E_DDmode)
          || !general_operand (operands[1], E_DDmode)
          || !
#line 1548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], DDmode)
    || aarch64_reg_or_fp_zero (operands[1], DDmode))))
        return -1;
      return 75; /* *movdd_aarch64 */

    case E_DFmode:
      if (!nonimmediate_operand (operands[0], E_DFmode)
          || !general_operand (operands[1], E_DFmode)
          || !
#line 1548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], DFmode)
    || aarch64_reg_or_fp_zero (operands[1], DFmode))))
        return -1;
      return 76; /* *movdf_aarch64 */

    case E_TDmode:
      if (!nonimmediate_operand (operands[0], E_TDmode)
          || !general_operand (operands[1], E_TDmode)
          || !
#line 1595 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], TDmode)
    || aarch64_reg_or_fp_zero (operands[1], TDmode))))
        return -1;
      return 77; /* *movtd_aarch64 */

    case E_TFmode:
      if (!nonimmediate_operand (operands[0], E_TFmode)
          || !general_operand (operands[1], E_TFmode)
          || !
#line 1595 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (register_operand (operands[0], TFmode)
    || aarch64_reg_or_fp_zero (operands[1], TFmode))))
        return -1;
      return 78; /* *movtf_aarch64 */

    case E_V8QImode:
      if (!nonimmediate_operand (operands[0], E_V8QImode)
          || !general_operand (operands[1], E_V8QImode)
          || !
#line 122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V8QImode)
       || aarch64_simd_reg_or_zero (operands[1], V8QImode))))
        return -1;
      return 1265; /* *aarch64_simd_movv8qi */

    case E_V4HImode:
      if (!nonimmediate_operand (operands[0], E_V4HImode)
          || !general_operand (operands[1], E_V4HImode)
          || !
#line 122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V4HImode)
       || aarch64_simd_reg_or_zero (operands[1], V4HImode))))
        return -1;
      return 1266; /* *aarch64_simd_movv4hi */

    case E_V4HFmode:
      if (!nonimmediate_operand (operands[0], E_V4HFmode)
          || !general_operand (operands[1], E_V4HFmode)
          || !
#line 122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V4HFmode)
       || aarch64_simd_reg_or_zero (operands[1], V4HFmode))))
        return -1;
      return 1267; /* *aarch64_simd_movv4hf */

    case E_V4BFmode:
      if (!nonimmediate_operand (operands[0], E_V4BFmode)
          || !general_operand (operands[1], E_V4BFmode)
          || !
#line 122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V4BFmode)
       || aarch64_simd_reg_or_zero (operands[1], V4BFmode))))
        return -1;
      return 1268; /* *aarch64_simd_movv4bf */

    case E_V2SImode:
      if (!nonimmediate_operand (operands[0], E_V2SImode)
          || !general_operand (operands[1], E_V2SImode)
          || !
#line 122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V2SImode)
       || aarch64_simd_reg_or_zero (operands[1], V2SImode))))
        return -1;
      return 1269; /* *aarch64_simd_movv2si */

    case E_V2SFmode:
      if (!nonimmediate_operand (operands[0], E_V2SFmode)
          || !general_operand (operands[1], E_V2SFmode)
          || !
#line 122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V2SFmode)
       || aarch64_simd_reg_or_zero (operands[1], V2SFmode))))
        return -1;
      return 1270; /* *aarch64_simd_movv2sf */

    case E_V16QImode:
      if (!nonimmediate_operand (operands[0], E_V16QImode)
          || !general_operand (operands[1], E_V16QImode)
          || !
#line 158 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V16QImode)
       || aarch64_simd_reg_or_zero (operands[1], V16QImode))))
        return -1;
      return 1271; /* *aarch64_simd_movv16qi */

    case E_V8HImode:
      if (!nonimmediate_operand (operands[0], E_V8HImode)
          || !general_operand (operands[1], E_V8HImode)
          || !
#line 158 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V8HImode)
       || aarch64_simd_reg_or_zero (operands[1], V8HImode))))
        return -1;
      return 1272; /* *aarch64_simd_movv8hi */

    case E_V4SImode:
      if (!nonimmediate_operand (operands[0], E_V4SImode)
          || !general_operand (operands[1], E_V4SImode)
          || !
#line 158 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V4SImode)
       || aarch64_simd_reg_or_zero (operands[1], V4SImode))))
        return -1;
      return 1273; /* *aarch64_simd_movv4si */

    case E_V2DImode:
      if (!nonimmediate_operand (operands[0], E_V2DImode)
          || !general_operand (operands[1], E_V2DImode)
          || !
#line 158 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V2DImode)
       || aarch64_simd_reg_or_zero (operands[1], V2DImode))))
        return -1;
      return 1274; /* *aarch64_simd_movv2di */

    case E_V8HFmode:
      if (!nonimmediate_operand (operands[0], E_V8HFmode)
          || !general_operand (operands[1], E_V8HFmode)
          || !
#line 158 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V8HFmode)
       || aarch64_simd_reg_or_zero (operands[1], V8HFmode))))
        return -1;
      return 1275; /* *aarch64_simd_movv8hf */

    case E_V8BFmode:
      if (!nonimmediate_operand (operands[0], E_V8BFmode)
          || !general_operand (operands[1], E_V8BFmode)
          || !
#line 158 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V8BFmode)
       || aarch64_simd_reg_or_zero (operands[1], V8BFmode))))
        return -1;
      return 1276; /* *aarch64_simd_movv8bf */

    case E_V4SFmode:
      if (!nonimmediate_operand (operands[0], E_V4SFmode)
          || !general_operand (operands[1], E_V4SFmode)
          || !
#line 158 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V4SFmode)
       || aarch64_simd_reg_or_zero (operands[1], V4SFmode))))
        return -1;
      return 1277; /* *aarch64_simd_movv4sf */

    case E_V2DFmode:
      if (!nonimmediate_operand (operands[0], E_V2DFmode)
          || !general_operand (operands[1], E_V2DFmode)
          || !
#line 158 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (register_operand (operands[0], V2DFmode)
       || aarch64_simd_reg_or_zero (operands[1], V2DFmode))))
        return -1;
      return 1278; /* *aarch64_simd_movv2df */

    case E_V2x8QImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x8QImode)
          && aarch64_simd_general_operand (operands[1], E_V2x8QImode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x8QImode)
       || register_operand (operands[1], V2x8QImode))))
        return 3935; /* *aarch64_movv2x8qi */
      if (!nonimmediate_operand (operands[0], E_V2x8QImode)
          || !general_operand (operands[1], E_V2x8QImode)
          || !
#line 7318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x8QImode)
       || register_operand (operands[1], V2x8QImode))))
        return -1;
      return 4017; /* *aarch64_be_movv2x8qi */

    case E_V2x4HImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x4HImode)
          && aarch64_simd_general_operand (operands[1], E_V2x4HImode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4HImode)
       || register_operand (operands[1], V2x4HImode))))
        return 3936; /* *aarch64_movv2x4hi */
      if (!nonimmediate_operand (operands[0], E_V2x4HImode)
          || !general_operand (operands[1], E_V2x4HImode)
          || !
#line 7318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x4HImode)
       || register_operand (operands[1], V2x4HImode))))
        return -1;
      return 4018; /* *aarch64_be_movv2x4hi */

    case E_V2x2SImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x2SImode)
          && aarch64_simd_general_operand (operands[1], E_V2x2SImode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2SImode)
       || register_operand (operands[1], V2x2SImode))))
        return 3937; /* *aarch64_movv2x2si */
      if (!nonimmediate_operand (operands[0], E_V2x2SImode)
          || !general_operand (operands[1], E_V2x2SImode)
          || !
#line 7318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x2SImode)
       || register_operand (operands[1], V2x2SImode))))
        return -1;
      return 4019; /* *aarch64_be_movv2x2si */

    case E_V2x1DImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x1DImode)
          && aarch64_simd_general_operand (operands[1], E_V2x1DImode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x1DImode)
       || register_operand (operands[1], V2x1DImode))))
        return 3938; /* *aarch64_movv2x1di */
      if (!nonimmediate_operand (operands[0], E_V2x1DImode)
          || !general_operand (operands[1], E_V2x1DImode)
          || !
#line 7318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x1DImode)
       || register_operand (operands[1], V2x1DImode))))
        return -1;
      return 4020; /* *aarch64_be_movv2x1di */

    case E_V2x4HFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x4HFmode)
          && aarch64_simd_general_operand (operands[1], E_V2x4HFmode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4HFmode)
       || register_operand (operands[1], V2x4HFmode))))
        return 3939; /* *aarch64_movv2x4hf */
      if (!nonimmediate_operand (operands[0], E_V2x4HFmode)
          || !general_operand (operands[1], E_V2x4HFmode)
          || !
#line 7318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x4HFmode)
       || register_operand (operands[1], V2x4HFmode))))
        return -1;
      return 4021; /* *aarch64_be_movv2x4hf */

    case E_V2x2SFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x2SFmode)
          && aarch64_simd_general_operand (operands[1], E_V2x2SFmode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x2SFmode)
       || register_operand (operands[1], V2x2SFmode))))
        return 3940; /* *aarch64_movv2x2sf */
      if (!nonimmediate_operand (operands[0], E_V2x2SFmode)
          || !general_operand (operands[1], E_V2x2SFmode)
          || !
#line 7318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x2SFmode)
       || register_operand (operands[1], V2x2SFmode))))
        return -1;
      return 4022; /* *aarch64_be_movv2x2sf */

    case E_V2x1DFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x1DFmode)
          && aarch64_simd_general_operand (operands[1], E_V2x1DFmode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x1DFmode)
       || register_operand (operands[1], V2x1DFmode))))
        return 3941; /* *aarch64_movv2x1df */
      if (!nonimmediate_operand (operands[0], E_V2x1DFmode)
          || !general_operand (operands[1], E_V2x1DFmode)
          || !
#line 7318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x1DFmode)
       || register_operand (operands[1], V2x1DFmode))))
        return -1;
      return 4023; /* *aarch64_be_movv2x1df */

    case E_V2x4BFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V2x4BFmode)
          && aarch64_simd_general_operand (operands[1], E_V2x4BFmode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2x4BFmode)
       || register_operand (operands[1], V2x4BFmode))))
        return 3942; /* *aarch64_movv2x4bf */
      if (!nonimmediate_operand (operands[0], E_V2x4BFmode)
          || !general_operand (operands[1], E_V2x4BFmode)
          || !
#line 7318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V2x4BFmode)
       || register_operand (operands[1], V2x4BFmode))))
        return -1;
      return 4024; /* *aarch64_be_movv2x4bf */

    case E_V3x8QImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x8QImode)
          && aarch64_simd_general_operand (operands[1], E_V3x8QImode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x8QImode)
       || register_operand (operands[1], V3x8QImode))))
        return 3943; /* *aarch64_movv3x8qi */
      if (!nonimmediate_operand (operands[0], E_V3x8QImode)
          || !general_operand (operands[1], E_V3x8QImode)
          || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x8QImode)
       || register_operand (operands[1], V3x8QImode))))
        return -1;
      return 4034; /* *aarch64_be_movv3x8qi */

    case E_V3x4HImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x4HImode)
          && aarch64_simd_general_operand (operands[1], E_V3x4HImode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4HImode)
       || register_operand (operands[1], V3x4HImode))))
        return 3944; /* *aarch64_movv3x4hi */
      if (!nonimmediate_operand (operands[0], E_V3x4HImode)
          || !general_operand (operands[1], E_V3x4HImode)
          || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x4HImode)
       || register_operand (operands[1], V3x4HImode))))
        return -1;
      return 4035; /* *aarch64_be_movv3x4hi */

    case E_V3x2SImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x2SImode)
          && aarch64_simd_general_operand (operands[1], E_V3x2SImode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2SImode)
       || register_operand (operands[1], V3x2SImode))))
        return 3945; /* *aarch64_movv3x2si */
      if (!nonimmediate_operand (operands[0], E_V3x2SImode)
          || !general_operand (operands[1], E_V3x2SImode)
          || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x2SImode)
       || register_operand (operands[1], V3x2SImode))))
        return -1;
      return 4036; /* *aarch64_be_movv3x2si */

    case E_V3x1DImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x1DImode)
          && aarch64_simd_general_operand (operands[1], E_V3x1DImode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x1DImode)
       || register_operand (operands[1], V3x1DImode))))
        return 3946; /* *aarch64_movv3x1di */
      if (!nonimmediate_operand (operands[0], E_V3x1DImode)
          || !general_operand (operands[1], E_V3x1DImode)
          || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x1DImode)
       || register_operand (operands[1], V3x1DImode))))
        return -1;
      return 4037; /* *aarch64_be_movv3x1di */

    case E_V3x4HFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x4HFmode)
          && aarch64_simd_general_operand (operands[1], E_V3x4HFmode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4HFmode)
       || register_operand (operands[1], V3x4HFmode))))
        return 3947; /* *aarch64_movv3x4hf */
      if (!nonimmediate_operand (operands[0], E_V3x4HFmode)
          || !general_operand (operands[1], E_V3x4HFmode)
          || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x4HFmode)
       || register_operand (operands[1], V3x4HFmode))))
        return -1;
      return 4038; /* *aarch64_be_movv3x4hf */

    case E_V3x2SFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x2SFmode)
          && aarch64_simd_general_operand (operands[1], E_V3x2SFmode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x2SFmode)
       || register_operand (operands[1], V3x2SFmode))))
        return 3948; /* *aarch64_movv3x2sf */
      if (!nonimmediate_operand (operands[0], E_V3x2SFmode)
          || !general_operand (operands[1], E_V3x2SFmode)
          || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x2SFmode)
       || register_operand (operands[1], V3x2SFmode))))
        return -1;
      return 4039; /* *aarch64_be_movv3x2sf */

    case E_V3x1DFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x1DFmode)
          && aarch64_simd_general_operand (operands[1], E_V3x1DFmode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x1DFmode)
       || register_operand (operands[1], V3x1DFmode))))
        return 3949; /* *aarch64_movv3x1df */
      if (!nonimmediate_operand (operands[0], E_V3x1DFmode)
          || !general_operand (operands[1], E_V3x1DFmode)
          || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x1DFmode)
       || register_operand (operands[1], V3x1DFmode))))
        return -1;
      return 4040; /* *aarch64_be_movv3x1df */

    case E_V3x4BFmode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V3x4BFmode)
          && aarch64_simd_general_operand (operands[1], E_V3x4BFmode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V3x4BFmode)
       || register_operand (operands[1], V3x4BFmode))))
        return 3950; /* *aarch64_movv3x4bf */
      if (!nonimmediate_operand (operands[0], E_V3x4BFmode)
          || !general_operand (operands[1], E_V3x4BFmode)
          || !
#line 7365 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V3x4BFmode)
       || register_operand (operands[1], V3x4BFmode))))
        return -1;
      return 4041; /* *aarch64_be_movv3x4bf */

    case E_V4x8QImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x8QImode)
          && aarch64_simd_general_operand (operands[1], E_V4x8QImode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x8QImode)
       || register_operand (operands[1], V4x8QImode))))
        return 3951; /* *aarch64_movv4x8qi */
      if (!nonimmediate_operand (operands[0], E_V4x8QImode)
          || !general_operand (operands[1], E_V4x8QImode)
          || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x8QImode)
       || register_operand (operands[1], V4x8QImode))))
        return -1;
      return 4051; /* *aarch64_be_movv4x8qi */

    case E_V4x4HImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x4HImode)
          && aarch64_simd_general_operand (operands[1], E_V4x4HImode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x4HImode)
       || register_operand (operands[1], V4x4HImode))))
        return 3952; /* *aarch64_movv4x4hi */
      if (!nonimmediate_operand (operands[0], E_V4x4HImode)
          || !general_operand (operands[1], E_V4x4HImode)
          || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x4HImode)
       || register_operand (operands[1], V4x4HImode))))
        return -1;
      return 4052; /* *aarch64_be_movv4x4hi */

    case E_V4x2SImode:
      if (aarch64_simd_nonimmediate_operand (operands[0], E_V4x2SImode)
          && aarch64_simd_general_operand (operands[1], E_V4x2SImode)
          && 
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4x2SImode)
       || register_operand (operands[1], V4x2SImode))))
        return 3953; /* *aarch64_movv4x2si */
      if (!nonimmediate_operand (operands[0], E_V4x2SImode)
          || !general_operand (operands[1], E_V4x2SImode)
          || !
#line 7391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && (!TARGET_SIMD || BYTES_BIG_ENDIAN)
   && (register_operand (operands[0], V4x2SImode)
       || register_operand (operands[1], V4x2SImode))))
        return -1;
      return 4053; /* *aarch64_be_movv4x2si */

    case E_V4x1DImode:
      return recog_36 (x1, insn, pnum_clobbers);

    case E_V4x4HFmode:
      return recog_35 (x1, insn, pnum_clobbers);

    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 7289 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
((register_operand (operands[0], V8DImode)
    || register_operand (operands[1], V8DImode))))
        return -1;
      return 3986; /* *aarch64_movv8di */

    default:
      return -1;
    }
}

static int
recog_38 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10;
  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 (pattern764 (x2, E_SImode) != 0
              || !aarch64_simd_shift_imm_si (operands[4], E_SImode)
              || !const_int_operand (operands[5], E_SImode)
              || !
#line 5927 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 845; /* *aarch64_bfisi5_shift */

        case E_DImode:
          if (pattern764 (x2, E_DImode) != 0
              || !aarch64_simd_shift_imm_di (operands[4], E_DImode)
              || !const_int_operand (operands[5], E_DImode)
              || !
#line 5927 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 846; /* *aarch64_bfidi5_shift */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern514 (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 5996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (SImode, UINTVAL (operands[2]), 0,
				      UINTVAL (operands[4]))))
                    return 853; /* *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 6008 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (SImode, UINTVAL (operands[2]), 0,
				      UINTVAL (operands[4]))))
                    return 855; /* *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 6163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 884; /* *aarch64_bfxilsi */

        case E_DImode:
          if (pattern514 (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 5996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (DImode, UINTVAL (operands[2]), 0,
				      UINTVAL (operands[4]))))
                    return 854; /* *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 6008 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_masks_and_shift_for_bfi_p (DImode, UINTVAL (operands[2]), 0,
				      UINTVAL (operands[4]))))
                    return 856; /* *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 6163 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 885; /* *aarch64_bfxildi */

        default:
          return -1;
        }

    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;
  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 (pattern636 (x2))
    {
    case 0:
      if (!
#line 5959 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 849; /* *aarch64_bfisi4_noand */

    case 1:
      if (!
#line 5959 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 850; /* *aarch64_bfidi4_noand */

    default:
      return -1;
    }
}

static int
recog_40 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  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 (pattern636 (x2))
    {
    case 0:
      if (!aarch64_simd_shift_imm_si (operands[5], E_SImode)
          || !
#line 6022 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 857; /* *aarch64_bfxilsi_extr */

    case 1:
      if (!aarch64_simd_shift_imm_di (operands[5], E_DImode)
          || !
#line 6022 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 858; /* *aarch64_bfxildi_extr */

    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;
  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 6039 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 859; /* *aarch64_bfxilsi_extrdi */
}

static int
recog_42 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, 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 (pattern724 (x2, E_SImode) != 0
          || !aarch64_simd_shift_imm_si (operands[2], E_SImode)
          || pattern900 (x3, E_SImode) != 0
          || !
#line 5942 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 847; /* *aarch64_bfisi5_shift_alt */

    case E_DImode:
      if (pattern724 (x2, E_DImode) != 0
          || !aarch64_simd_shift_imm_di (operands[2], E_DImode)
          || pattern900 (x3, E_DImode) != 0
          || !
#line 5942 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 848; /* *aarch64_bfidi5_shift_alt */

    default:
      return -1;
    }
}

static int
recog_43 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, 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 (pattern635 (x2, E_SImode) == 0
                      && 
#line 1403 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_movk_shift (rtx_mode_t (operands[2], SImode),
		       rtx_mode_t (operands[3], SImode)) >= 0))
                    return 68; /* aarch64_movksi */
                  break;

                case E_DImode:
                  if (pattern635 (x2, E_DImode) == 0
                      && 
#line 1403 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_movk_shift (rtx_mode_t (operands[2], DImode),
		       rtx_mode_t (operands[3], DImode)) >= 0))
                    return 69; /* aarch64_movkdi */
                  break;

                default:
                  break;
                }
              break;

            case AND:
              res = recog_38 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
              break;

            case ASHIFT:
              res = recog_39 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
              break;

            case ZERO_EXTRACT:
              res = recog_40 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
              break;

            case SUBREG:
            case TRUNCATE:
              res = recog_41 (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
              || pattern515 (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) != 161)
                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 7774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
                return -1;
              return 1216; /* irg */

            case MEM:
              x9 = XEXP (x7, 0);
              if (GET_CODE (x9) != UNSPEC
                  || XVECLEN (x9, 0) != 1
                  || XINT (x9, 1) != 162
                  || 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 7832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
                return -1;
              return 1220; /* 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 (pattern723 (x2, E_VNx16BImode) != 0
                      || !
#line 8412 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8573; /* vcond_mask_vnx16bivnx16bi */

                case E_VNx8BImode:
                  if (pattern723 (x2, E_VNx8BImode) != 0
                      || !
#line 8412 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8574; /* vcond_mask_vnx8bivnx8bi */

                case E_VNx4BImode:
                  if (pattern723 (x2, E_VNx4BImode) != 0
                      || !
#line 8412 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8575; /* vcond_mask_vnx4bivnx4bi */

                case E_VNx2BImode:
                  if (pattern723 (x2, E_VNx2BImode) != 0
                      || !
#line 8412 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8576; /* vcond_mask_vnx2bivnx2bi */

                default:
                  return -1;
                }

            case UNSPEC:
              if (pattern376 (x6) != 0)
                return -1;
              operands[1] = x4;
              switch (pattern710 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9559; /* *aarch64_sve2_bsl2nvnx16qi */
                      if (rtx_equal_p (x20, operands[2])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9560; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return 9567; /* *aarch64_sve2_bsl2nvnx16qi */
                  if (!rtx_equal_p (x18, operands[2])
                      || !
#line 1072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9568; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9561; /* *aarch64_sve2_bsl2nvnx8hi */
                      if (rtx_equal_p (x20, operands[2])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9562; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return 9569; /* *aarch64_sve2_bsl2nvnx8hi */
                  if (!rtx_equal_p (x18, operands[2])
                      || !
#line 1072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9570; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9563; /* *aarch64_sve2_bsl2nvnx4si */
                      if (rtx_equal_p (x20, operands[2])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9564; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return 9571; /* *aarch64_sve2_bsl2nvnx4si */
                  if (!rtx_equal_p (x18, operands[2])
                      || !
#line 1072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9572; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9565; /* *aarch64_sve2_bsl2nvnx2di */
                      if (rtx_equal_p (x20, operands[2])
                          && 
#line 1045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                        return 9566; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return 9573; /* *aarch64_sve2_bsl2nvnx2di */
                  if (!rtx_equal_p (x18, operands[2])
                      || !
#line 1072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9574; /* *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_42 (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 (pattern807 (x2, E_SImode) != 0
              || !
#line 6221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 887; /* rev16si2 */

        case E_DImode:
          if (pattern807 (x2, E_DImode) != 0
              || !
#line 6221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 888; /* 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 (pattern765 (x2, E_SImode) != 0
              || !
#line 6235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 889; /* rev16si2_alt */

        case E_DImode:
          if (pattern765 (x2, E_DImode) != 0
              || !
#line 6235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 890; /* 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) != 160
          || 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]
          || pattern515 (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 7804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
        return -1;
      return 1218; /* addg */

    default:
      return -1;
    }
}

static int
recog_44 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  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 (pattern678 (x5, E_SImode))
        {
        case 0:
          if (!
#line 5908 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 8))
            return -1;
          return 839; /* *aarch64_bfisiqi4 */

        case 1:
          if (!
#line 5908 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 16))
            return -1;
          return 841; /* *aarch64_bfisihi4 */

        case 2:
          if (!
#line 5908 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 32))
            return -1;
          return 843; /* *aarch64_bfisisi4 */

        default:
          return -1;
        }

    case E_DImode:
      switch (pattern678 (x5, E_DImode))
        {
        case 0:
          if (!
#line 5908 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 8))
            return -1;
          return 840; /* *aarch64_bfidiqi4 */

        case 1:
          if (!
#line 5908 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 16))
            return -1;
          return 842; /* *aarch64_bfidihi4 */

        case 2:
          if (!
#line 5908 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[1]) <= 32))
            return -1;
          return 844; /* *aarch64_bfidisi4 */

        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;
  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 4219 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 495; /* *cmovsi_insn_uxtw */
}

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, 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 7071 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_ILP32))
            return -1;
          return 1119; /* 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 7090 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_ILP32))
            return -1;
          return 1122; /* ldr_got_tiny_sidi */

        case 35:
          if (pattern301 (x3) != 0)
            return -1;
          return 1128; /* tlsie_small_sidi */

        case 176:
          x5 = XVECEXP (x4, 0, 0);
          operands[1] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              switch (pattern480 (x3, E_SImode))
                {
                case 0:
                  if (!
#line 3445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2467; /* aarch64_zero_extendsi_reduc_plus_v8qi */

                case 1:
                  if (!
#line 3445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2469; /* aarch64_zero_extendsi_reduc_plus_v16qi */

                case 2:
                  if (!
#line 3445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2471; /* aarch64_zero_extendsi_reduc_plus_v4hi */

                case 3:
                  if (!
#line 3445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2473; /* aarch64_zero_extendsi_reduc_plus_v8hi */

                default:
                  return -1;
                }

            case E_DImode:
              switch (pattern480 (x3, E_DImode))
                {
                case 0:
                  if (!
#line 3445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2468; /* aarch64_zero_extenddi_reduc_plus_v8qi */

                case 1:
                  if (!
#line 3445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2470; /* aarch64_zero_extenddi_reduc_plus_v16qi */

                case 2:
                  if (!
#line 3445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2472; /* aarch64_zero_extenddi_reduc_plus_v4hi */

                case 3:
                  if (!
#line 3445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2474; /* aarch64_zero_extenddi_reduc_plus_v8hi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 2:
      if (XINT (x4, 1) != 37
          || pattern301 (x3) != 0)
        return -1;
      x9 = XVECEXP (x4, 0, 1);
      operands[2] = x9;
      if (!register_operand (operands[2], E_DImode))
        return -1;
      return 1131; /* 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 155:
          if (!const_int_operand (operands[1], E_DImode)
              || !const_int_operand (operands[2], E_DImode)
              || !const_int_operand (operands[3], E_DImode)
              || !
#line 9936 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9118; /* aarch64_sve_cnt_pat */

        case 293:
          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 10258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9149; /* aarch64_pred_cntpvnx16bi */

            case E_VNx8BImode:
              if (!register_operand (operands[1], E_VNx8BImode)
                  || !register_operand (operands[3], E_VNx8BImode)
                  || !
#line 10258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9150; /* aarch64_pred_cntpvnx8bi */

            case E_VNx4BImode:
              if (!register_operand (operands[1], E_VNx4BImode)
                  || !register_operand (operands[3], E_VNx4BImode)
                  || !
#line 10258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9151; /* aarch64_pred_cntpvnx4bi */

            case E_VNx2BImode:
              if (!register_operand (operands[1], E_VNx2BImode)
                  || !register_operand (operands[3], E_VNx2BImode)
                  || !
#line 10258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9152; /* aarch64_pred_cntpvnx2bi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_47 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  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 (pattern295 (x3))
            {
            case 0:
              return 144; /* *zero_extendsidi2_aarch64 */

            case 1:
              return 152; /* *zero_extendqidi2_aarch64 */

            case 2:
              return 153; /* *zero_extendhidi2_aarch64 */

            default:
              return -1;
            }

        case E_SImode:
          switch (pattern296 (x3))
            {
            case 0:
              return 150; /* *zero_extendqisi2_aarch64 */

            case 1:
              return 151; /* *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 155; /* *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 7007 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
            return -1;
          return 1111; /* 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 7007 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
            return -1;
          return 1112; /* aarch64_movtflow_di */

        case E_TDmode:
          if (!register_operand (operands[0], E_TDmode)
              || GET_MODE (x3) != E_TDmode
              || !register_operand (operands[1], E_DImode)
              || !
#line 7007 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
            return -1;
          return 1113; /* aarch64_movtdlow_di */

        case E_V8HImode:
          if (!register_operand (operands[0], E_V8HImode)
              || GET_MODE (x3) != E_V8HImode
              || !register_operand (operands[1], E_V8QImode)
              || !
#line 9021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4392; /* zero_extendv8qiv8hi2 */

        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x3) != E_V4SImode
              || !register_operand (operands[1], E_V4HImode)
              || !
#line 9021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4394; /* zero_extendv4hiv4si2 */

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x3) != E_V2DImode
              || !register_operand (operands[1], E_V2SImode)
              || !
#line 9021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4396; /* 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_44 (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 6998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
            return -1;
          return 1108; /* aarch64_movtihigh_di */

        case E_TFmode:
          if (!register_operand (operands[0], E_TFmode)
              || GET_MODE (x3) != E_TFmode
              || !
#line 6998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
            return -1;
          return 1109; /* aarch64_movtfhigh_di */

        case E_TDmode:
          if (!register_operand (operands[0], E_TDmode)
              || GET_MODE (x3) != E_TDmode
              || !
#line 6998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
            return -1;
          return 1110; /* aarch64_movtdhigh_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, 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 302; /* *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 329; /* *sub_lsl_si_uxtw */

            case SIGN_EXTEND:
              switch (pattern679 (x3))
                {
                case 0:
                  return 360; /* *sub_extendqi_shft_si_uxtw */

                case 1:
                  return 362; /* *sub_extendhi_shft_si_uxtw */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              switch (pattern679 (x3))
                {
                case 0:
                  return 361; /* *sub_zero_extendqi_shft_si_uxtw */

                case 1:
                  return 363; /* *sub_zero_extendhi_shft_si_uxtw */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case ASHIFTRT:
          if (pattern516 (x3) != 0)
            return -1;
          return 330; /* *sub_asr_si_uxtw */

        case LSHIFTRT:
          if (pattern516 (x3) != 0)
            return -1;
          return 331; /* *sub_lsr_si_uxtw */

        case SIGN_EXTEND:
          switch (pattern517 (x3))
            {
            case 0:
              return 344; /* *sub_extendqi_si_uxtw */

            case 1:
              return 346; /* *sub_extendhi_si_uxtw */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern517 (x3))
            {
            case 0:
              return 345; /* *sub_zero_extendqi_si_uxtw */

            case 1:
              return 347; /* *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 366; /* *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 3621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]),INTVAL (operands[3])) != 0))
            return -1;
          return 385; /* *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 421; /* *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 369; /* *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 372; /* *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 393; /* *ngcsi_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;
  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 544; /* *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 595; /* *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 5734 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[3]) < 32 &&
   (UINTVAL (operands[3]) + UINTVAL (operands[4]) == 32)))
            return -1;
          return 814; /* *extrsi5_insn_uxtw */

        default:
          return -1;
        }

    case ASHIFTRT:
      if (pattern476 (x3) != 0)
        return -1;
      return 598; /* *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 601; /* *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 5747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[3]) < 32 &&
   (UINTVAL (operands[3]) + UINTVAL (operands[4]) == 32)))
            return -1;
          return 815; /* *extrsi5_insn_uxtw_alt */

        default:
          return -1;
        }

    case ROTATERT:
      if (pattern476 (x3) != 0)
        return -1;
      return 604; /* *ior_rotrsi3_uxtw */

    case ROTATE:
      if (pattern476 (x3) != 0)
        return -1;
      return 607; /* *ior_rotlsi3_uxtw */

    case NOT:
      switch (pattern479 (x3))
        {
        case 0:
          return 627; /* *ior_one_cmplsidi3_ze */

        case 1:
          return 667; /* ior_one_cmpl_ashlsidi_uxtw */

        case 2:
          return 670; /* ior_one_cmpl_ashrsidi_uxtw */

        case 3:
          return 673; /* ior_one_cmpl_lshrsidi_uxtw */

        case 4:
          return 676; /* ior_one_cmpl_rotrsidi_uxtw */

        case 5:
          return 679; /* ior_one_cmpl_rotlsidi_uxtw */

        default:
          return -1;
        }

    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 6190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 886; /* *aarch64_bfxilsi_uxtw */

    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, 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 158; /* *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 248; /* *add_lsl_si_uxtw */

        case SIGN_EXTEND:
          switch (pattern726 (x8))
            {
            case 0:
              return 283; /* *add_extendqi_shft_si_uxtw */

            case 1:
              return 285; /* *add_extendhi_shft_si_uxtw */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern726 (x8))
            {
            case 0:
              return 284; /* *add_zero_extendqi_shft_si_uxtw */

            case 1:
              return 286; /* *add_zero_extendhi_shft_si_uxtw */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      if (pattern476 (x3) != 0)
        return -1;
      return 249; /* *add_asr_si_uxtw */

    case LSHIFTRT:
      if (pattern476 (x3) != 0)
        return -1;
      return 250; /* *add_lsr_si_uxtw */

    case SIGN_EXTEND:
      switch (pattern478 (x3))
        {
        case 0:
          return 263; /* *add_extendqi_si_uxtw */

        case 1:
          return 267; /* *add_extendqi_si_uxtw */

        case 2:
          return 265; /* *add_extendhi_si_uxtw */

        case 3:
          return 269; /* *add_extendhi_si_uxtw */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern478 (x3))
        {
        case 0:
          return 264; /* *add_zero_extendqi_si_uxtw */

        case 1:
          return 268; /* *add_zero_extendqi_si_uxtw */

        case 2:
          return 266; /* *add_zero_extendhi_si_uxtw */

        case 3:
          return 270; /* *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 289; /* *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 2917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]), INTVAL (operands[3])) != 0))
        return -1;
      return 300; /* *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 418; /* *maddsi_uxtw */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  if (XVECLEN (x3, 0) != 2)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  x5 = XVECEXP (x3, 0, 0);
  operands[1] = x5;
  x6 = XVECEXP (x3, 0, 1);
  operands[2] = x6;
  if (!const_int_operand (operands[2], E_SImode))
    return -1;
  switch (XINT (x3, 1))
    {
    case 19:
      switch (GET_MODE (operands[0]))
        {
        case E_HImode:
          switch (pattern575 (x2, E_HImode))
            {
            case 0:
              if (!
#line 650 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(GET_MODE_SIZE (HImode) > GET_MODE_SIZE (QImode)))
                return -1;
              return 4546; /* *atomic_loadqi_zexthi */

            case 1:
              if (!
#line 650 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(GET_MODE_SIZE (HImode) > GET_MODE_SIZE (HImode)))
                return -1;
              return 4547; /* *atomic_loadhi_zexthi */

            case 2:
              if (!
#line 650 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(GET_MODE_SIZE (HImode) > GET_MODE_SIZE (SImode)))
                return -1;
              return 4548; /* *atomic_loadsi_zexthi */

            default:
              return -1;
            }

        case E_SImode:
          switch (pattern575 (x2, E_SImode))
            {
            case 0:
              if (!
#line 650 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(GET_MODE_SIZE (SImode) > GET_MODE_SIZE (QImode)))
                return -1;
              return 4549; /* *atomic_loadqi_zextsi */

            case 1:
              if (!
#line 650 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(GET_MODE_SIZE (SImode) > GET_MODE_SIZE (HImode)))
                return -1;
              return 4550; /* *atomic_loadhi_zextsi */

            case 2:
              if (!
#line 650 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(GET_MODE_SIZE (SImode) > GET_MODE_SIZE (SImode)))
                return -1;
              return 4551; /* *atomic_loadsi_zextsi */

            default:
              return -1;
            }

        case E_DImode:
          switch (pattern575 (x2, E_DImode))
            {
            case 0:
              if (!
#line 650 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(GET_MODE_SIZE (DImode) > GET_MODE_SIZE (QImode)))
                return -1;
              return 4552; /* *atomic_loadqi_zextdi */

            case 1:
              if (!
#line 650 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(GET_MODE_SIZE (DImode) > GET_MODE_SIZE (HImode)))
                return -1;
              return 4553; /* *atomic_loadhi_zextdi */

            case 2:
              if (!
#line 650 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(GET_MODE_SIZE (DImode) > GET_MODE_SIZE (SImode)))
                return -1;
              return 4554; /* *atomic_loadsi_zextdi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 20:
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          switch (pattern518 (x2))
            {
            case 0:
              if (!
#line 714 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC && (32 > 8)))
                return -1;
              return 4563; /* *aarch64_atomic_loadqi_rcpc_zext */

            case 1:
              if (!
#line 714 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC && (32 > 16)))
                return -1;
              return 4565; /* *aarch64_atomic_loadhi_rcpc_zext */

            default:
              return -1;
            }

        case E_DImode:
          switch (pattern575 (x2, E_DImode))
            {
            case 0:
              if (!
#line 714 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC && (64 > 8)))
                return -1;
              return 4564; /* *aarch64_atomic_loadqi_rcpc_zext */

            case 1:
              if (!
#line 714 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC && (64 > 16)))
                return -1;
              return 4566; /* *aarch64_atomic_loadhi_rcpc_zext */

            case 2:
              if (!
#line 714 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC && (64 > 32)))
                return -1;
              return 4567; /* *aarch64_atomic_loadsi_rcpc_zext */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 17:
      switch (pattern518 (x2))
        {
        case 0:
          return 4577; /* aarch64_load_exclusiveqi */

        case 1:
          return 4578; /* aarch64_load_exclusivehi */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_52 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  switch (XVECLEN (x3, 0))
    {
    case 2:
      switch (XINT (x3, 1))
        {
        case 265:
          switch (pattern304 (x2))
            {
            case 0:
              if (!
#line 642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1608; /* sdot_prodv8qi */

            case 1:
              if (!
#line 642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1610; /* sdot_prodv16qi */

            case 2:
              if (!
#line 6884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7513; /* sdot_prodvnx16qi */

            case 3:
              if (!
#line 6884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7515; /* sdot_prodvnx8hi */

            case 4:
              if (!
#line 6903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7517; /* aarch64_sdot_prod_lanevnx16qi */

            case 5:
              if (!
#line 6903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7519; /* aarch64_sdot_prod_lanevnx8hi */

            default:
              return -1;
            }

        case 266:
          switch (pattern304 (x2))
            {
            case 0:
              if (!
#line 642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1609; /* udot_prodv8qi */

            case 1:
              if (!
#line 642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1611; /* udot_prodv16qi */

            case 2:
              if (!
#line 6884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7514; /* udot_prodvnx16qi */

            case 3:
              if (!
#line 6884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7516; /* udot_prodvnx8hi */

            case 4:
              if (!
#line 6903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7518; /* aarch64_udot_prod_lanevnx16qi */

            case 5:
              if (!
#line 6903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7520; /* aarch64_udot_prod_lanevnx8hi */

            default:
              return -1;
            }

        case 521:
          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 (pattern302 (x2, E_V2SImode, E_V8QImode) != 0
                      || !
#line 656 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                    return -1;
                  return 1612; /* usdot_prodv8qi */

                case E_V4SImode:
                  if (pattern302 (x2, E_V4SImode, E_V16QImode) != 0
                      || !
#line 656 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                    return -1;
                  return 1613; /* usdot_prodv16qi */

                case E_VNx4SImode:
                  if (pattern302 (x2, E_VNx4SImode, E_VNx16QImode) != 0
                      || !
#line 6918 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
                    return -1;
                  return 7521; /* usdot_prodvnx16qi */

                default:
                  return -1;
                }

            case UNSPEC:
              if (XVECLEN (x5, 0) != 2
                  || XINT (x5, 1) != 154
                  || GET_MODE (x5) != E_VNx16QImode
                  || !register_operand (operands[0], E_VNx4SImode)
                  || GET_MODE (x2) != E_VNx4SImode
                  || GET_MODE (x3) != E_VNx4SImode
                  || pattern767 (x2) != 0
                  || !
#line 6936 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
                return -1;
              return 7522; /* aarch64_usdot_prod_lanevnx16qi */

            default:
              return -1;
            }

        case 523:
          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 (pattern306 (x2, E_V2SFmode, E_V4BFmode) != 0
                  || !
#line 9050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                return -1;
              return 4400; /* aarch64_bfdotv2sf */

            case E_V4SFmode:
              if (pattern306 (x2, E_V4SFmode, E_V8BFmode) != 0
                  || !
#line 9050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                return -1;
              return 4401; /* aarch64_bfdotv4sf */

            default:
              return -1;
            }

        case 315:
          switch (pattern307 (x2))
            {
            case 0:
              if (!
#line 9141 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 4413; /* aarch64_simd_smmlav16qi */

            case 1:
              if (!
#line 6990 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
                return -1;
              return 7524; /* aarch64_sve_add_smatmulvnx16qi */

            default:
              return -1;
            }

        case 316:
          switch (pattern307 (x2))
            {
            case 0:
              if (!
#line 9141 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 4414; /* aarch64_simd_ummlav16qi */

            case 1:
              if (!
#line 6990 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
                return -1;
              return 7525; /* aarch64_sve_add_umatmulvnx16qi */

            default:
              return -1;
            }

        case 317:
          switch (pattern307 (x2))
            {
            case 0:
              if (!
#line 9141 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 4415; /* aarch64_simd_usmmlav16qi */

            case 1:
              if (!
#line 6990 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
                return -1;
              return 7526; /* aarch64_sve_add_usmatmulvnx16qi */

            default:
              return -1;
            }

        case 119:
          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 (pattern520 (x2))
                {
                case 0:
                  if (!
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6516; /* *aarch64_adrvnx2qi_shift */

                case 1:
                  if (!
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6517; /* *aarch64_adrvnx2hi_shift */

                case 2:
                  if (!
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6518; /* *aarch64_adrvnx2si_shift */

                case 3:
                  if (!
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6519; /* *aarch64_adrvnx2di_shift */

                case 4:
                  if (!
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6520; /* *aarch64_adrvnx4qi_shift */

                case 5:
                  if (!
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6521; /* *aarch64_adrvnx4hi_shift */

                case 6:
                  if (!
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6522; /* *aarch64_adrvnx4si_shift */

                case 7:
                  if (!
#line 3957 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6523; /* *aarch64_adr_shift_sxtw */

                case 8:
                  if (!
#line 3978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 6524; /* *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 (pattern683 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                      || !
#line 6620 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7433; /* aarch64_pred_fmavnx16qi */

                case E_VNx8QImode:
                  if (pattern683 (x2, E_VNx8QImode, E_VNx8BImode) != 0
                      || !
#line 6620 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7434; /* aarch64_pred_fmavnx8qi */

                case E_VNx4QImode:
                  if (pattern683 (x2, E_VNx4QImode, E_VNx4BImode) != 0
                      || !
#line 6620 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7435; /* aarch64_pred_fmavnx4qi */

                case E_VNx2QImode:
                  if (pattern683 (x2, E_VNx2QImode, E_VNx2BImode) != 0
                      || !
#line 6620 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7436; /* aarch64_pred_fmavnx2qi */

                case E_VNx8HImode:
                  if (pattern683 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                      || !
#line 6620 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7437; /* aarch64_pred_fmavnx8hi */

                case E_VNx4HImode:
                  if (pattern683 (x2, E_VNx4HImode, E_VNx4BImode) != 0
                      || !
#line 6620 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7438; /* aarch64_pred_fmavnx4hi */

                case E_VNx2HImode:
                  if (pattern683 (x2, E_VNx2HImode, E_VNx2BImode) != 0
                      || !
#line 6620 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7439; /* aarch64_pred_fmavnx2hi */

                case E_VNx4SImode:
                  if (pattern683 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 6620 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7440; /* aarch64_pred_fmavnx4si */

                case E_VNx2SImode:
                  if (pattern683 (x2, E_VNx2SImode, E_VNx2BImode) != 0
                      || !
#line 6620 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7441; /* aarch64_pred_fmavnx2si */

                case E_VNx2DImode:
                  if (pattern683 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 6620 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7442; /* aarch64_pred_fmavnx2di */

                default:
                  return -1;
                }

            case ASHIFTRT:
              switch (pattern395 (x2))
                {
                case 0:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9575; /* *aarch64_sve2_sravnx16qi */

                case 1:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9577; /* *aarch64_sve2_sravnx8hi */

                case 2:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9579; /* *aarch64_sve2_sravnx4si */

                case 3:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9581; /* *aarch64_sve2_sravnx2di */

                default:
                  return -1;
                }

            case LSHIFTRT:
              switch (pattern395 (x2))
                {
                case 0:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9576; /* *aarch64_sve2_sravnx16qi */

                case 1:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9578; /* *aarch64_sve2_sravnx8hi */

                case 2:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9580; /* *aarch64_sve2_sravnx4si */

                case 3:
                  if (!
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9582; /* *aarch64_sve2_sravnx2di */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 522:
          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) != 154
              || 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 (pattern767 (x2) != 0
              || !
#line 6936 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_I8MM))
            return -1;
          return 7523; /* aarch64_sudot_prod_lanevnx16qi */

        case 204:
          switch (pattern309 (x2))
            {
            case 0:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9583; /* aarch64_sve_add_srshrvnx16qi */

            case 1:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9585; /* aarch64_sve_add_srshrvnx8hi */

            case 2:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9587; /* aarch64_sve_add_srshrvnx4si */

            case 3:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9589; /* aarch64_sve_add_srshrvnx2di */

            default:
              return -1;
            }

        case 205:
          switch (pattern309 (x2))
            {
            case 0:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9584; /* aarch64_sve_add_urshrvnx16qi */

            case 1:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9586; /* aarch64_sve_add_urshrvnx8hi */

            case 2:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9588; /* aarch64_sve_add_urshrvnx4si */

            case 3:
              if (!
#line 1142 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9590; /* aarch64_sve_add_urshrvnx2di */

            default:
              return -1;
            }

        case 446:
          switch (pattern310 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9718; /* aarch64_sve_add_sabdlbvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9726; /* aarch64_sve_add_sabdlbvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9734; /* aarch64_sve_add_sabdlbvnx2di */

            default:
              return -1;
            }

        case 447:
          switch (pattern310 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9719; /* aarch64_sve_add_sabdltvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9727; /* aarch64_sve_add_sabdltvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9735; /* aarch64_sve_add_sabdltvnx2di */

            default:
              return -1;
            }

        case 462:
          switch (pattern313 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9720; /* aarch64_sve_add_smullbvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9728; /* aarch64_sve_add_smullbvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9736; /* aarch64_sve_add_smullbvnx2di */

            case 3:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9742; /* aarch64_sve_add_smullb_lane_vnx4si */

            case 4:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9746; /* aarch64_sve_add_smullb_lane_vnx2di */

            default:
              return -1;
            }

        case 463:
          switch (pattern313 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9721; /* aarch64_sve_add_smulltvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9729; /* aarch64_sve_add_smulltvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9737; /* aarch64_sve_add_smulltvnx2di */

            case 3:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9743; /* aarch64_sve_add_smullt_lane_vnx4si */

            case 4:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9747; /* aarch64_sve_add_smullt_lane_vnx2di */

            default:
              return -1;
            }

        case 497:
          switch (pattern310 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9722; /* aarch64_sve_add_uabdlbvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9730; /* aarch64_sve_add_uabdlbvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9738; /* aarch64_sve_add_uabdlbvnx2di */

            default:
              return -1;
            }

        case 498:
          switch (pattern310 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9723; /* aarch64_sve_add_uabdltvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9731; /* aarch64_sve_add_uabdltvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9739; /* aarch64_sve_add_uabdltvnx2di */

            default:
              return -1;
            }

        case 507:
          switch (pattern313 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9724; /* aarch64_sve_add_umullbvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9732; /* aarch64_sve_add_umullbvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9740; /* aarch64_sve_add_umullbvnx2di */

            case 3:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9744; /* aarch64_sve_add_umullb_lane_vnx4si */

            case 4:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9748; /* aarch64_sve_add_umullb_lane_vnx2di */

            default:
              return -1;
            }

        case 508:
          switch (pattern313 (x2))
            {
            case 0:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9725; /* aarch64_sve_add_umulltvnx8hi */

            case 1:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9733; /* aarch64_sve_add_umulltvnx4si */

            case 2:
              if (!
#line 1359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9741; /* aarch64_sve_add_umulltvnx2di */

            case 3:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9745; /* aarch64_sve_add_umullt_lane_vnx4si */

            case 4:
              if (!
#line 1378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9749; /* 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 265:
          switch (pattern397 (x2))
            {
            case 0:
              if (!
#line 671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1614; /* aarch64_sdot_lanev8qi */

            case 1:
              if (!
#line 687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1618; /* aarch64_sdot_laneqv8qi */

            case 2:
              if (!
#line 671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1616; /* aarch64_sdot_lanev16qi */

            case 3:
              if (!
#line 687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1620; /* aarch64_sdot_laneqv16qi */

            default:
              return -1;
            }

        case 266:
          switch (pattern397 (x2))
            {
            case 0:
              if (!
#line 671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1615; /* aarch64_udot_lanev8qi */

            case 1:
              if (!
#line 687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1619; /* aarch64_udot_laneqv8qi */

            case 2:
              if (!
#line 671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1617; /* aarch64_udot_lanev16qi */

            case 3:
              if (!
#line 687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_DOTPROD))
                return -1;
              return 1621; /* aarch64_udot_laneqv16qi */

            default:
              return -1;
            }

        case 521:
          switch (pattern397 (x2))
            {
            case 0:
              if (!
#line 705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1622; /* aarch64_usdot_lanev8qi */

            case 1:
              if (!
#line 705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1626; /* aarch64_usdot_laneqv8qi */

            case 2:
              if (!
#line 705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1624; /* aarch64_usdot_lanev16qi */

            case 3:
              if (!
#line 705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1628; /* aarch64_usdot_laneqv16qi */

            default:
              return -1;
            }

        case 522:
          switch (pattern397 (x2))
            {
            case 0:
              if (!
#line 705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1623; /* aarch64_sudot_lanev8qi */

            case 1:
              if (!
#line 705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1627; /* aarch64_sudot_laneqv8qi */

            case 2:
              if (!
#line 705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1625; /* aarch64_sudot_lanev16qi */

            case 3:
              if (!
#line 705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_I8MM))
                return -1;
              return 1629; /* aarch64_sudot_laneqv16qi */

            default:
              return -1;
            }

        case 523:
          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 (pattern684 (x2, E_V2SFmode, E_V4BFmode))
                {
                case 0:
                  if (!
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4402; /* aarch64_bfdot_lanev2sf */

                case 1:
                  if (!
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4403; /* aarch64_bfdot_laneqv2sf */

                default:
                  return -1;
                }

            case E_V4SFmode:
              switch (pattern684 (x2, E_V4SFmode, E_V8BFmode))
                {
                case 0:
                  if (!
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4404; /* aarch64_bfdot_lanev4sf */

                case 1:
                  if (!
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4405; /* aarch64_bfdot_laneqv4sf */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 155:
          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 9978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9122; /* *aarch64_sve_incsi_pat */

        case 293:
          switch (pattern398 (x2))
            {
            case 0:
              if (!
#line 10315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9165; /* *aarch64_incsivnx16bi_cntp */

            case 1:
              if (!
#line 10315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9166; /* *aarch64_incsivnx8bi_cntp */

            case 2:
              if (!
#line 10315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9167; /* *aarch64_incsivnx4bi_cntp */

            case 3:
              if (!
#line 10315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9168; /* *aarch64_incsivnx2bi_cntp */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_53 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, 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 156; /* *addsi3_aarch64 */
          if (!aarch64_pluslong_or_poly_operand (operands[2], E_SImode)
              || !
#line 2230 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE && operands[0] != stack_pointer_rtx))
            return -1;
          return 159; /* *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 157; /* *adddi3_aarch64 */
          if (!aarch64_pluslong_or_poly_operand (operands[2], E_DImode)
              || !
#line 2230 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE && operands[0] != stack_pointer_rtx))
            return -1;
          return 160; /* *adddi3_poly_1 */

        case E_HFmode:
          if (pattern1 (x2, E_HFmode) != 0
              || !(
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return -1;
          return 1053; /* addhf3 */

        case E_SFmode:
          if (pattern1 (x2, E_SFmode) != 0
              || !
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1054; /* addsf3 */

        case E_DFmode:
          if (pattern1 (x2, E_DFmode) != 0
              || !
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1055; /* adddf3 */

        case E_V8QImode:
          if (pattern1 (x2, E_V8QImode) != 0
              || !
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1519; /* addv8qi3 */

        case E_V16QImode:
          if (pattern1 (x2, E_V16QImode) != 0
              || !
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1520; /* addv16qi3 */

        case E_V4HImode:
          if (pattern1 (x2, E_V4HImode) != 0
              || !
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1521; /* addv4hi3 */

        case E_V8HImode:
          if (pattern1 (x2, E_V8HImode) != 0
              || !
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1522; /* addv8hi3 */

        case E_V2SImode:
          if (pattern1 (x2, E_V2SImode) != 0
              || !
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1523; /* addv2si3 */

        case E_V4SImode:
          if (pattern1 (x2, E_V4SImode) != 0
              || !
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1524; /* addv4si3 */

        case E_V2DImode:
          if (pattern1 (x2, E_V2DImode) != 0
              || !
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1525; /* addv2di3 */

        case E_V4HFmode:
          if (pattern1 (x2, E_V4HFmode) != 0
              || !(
#line 2687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2204; /* addv4hf3 */

        case E_V8HFmode:
          if (pattern1 (x2, E_V8HFmode) != 0
              || !(
#line 2687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2205; /* addv8hf3 */

        case E_V2SFmode:
          if (pattern1 (x2, E_V2SFmode) != 0
              || !
#line 2687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2206; /* addv2sf3 */

        case E_V4SFmode:
          if (pattern1 (x2, E_V4SFmode) != 0
              || !
#line 2687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2207; /* addv4sf3 */

        case E_V2DFmode:
          if (pattern1 (x2, E_V2DFmode) != 0
              || !
#line 2687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2208; /* addv2df3 */

        case E_VNx16QImode:
          if (pattern481 (x2, E_VNx16QImode) != 0
              || !
#line 3806 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6491; /* addvnx16qi3 */

        case E_VNx8QImode:
          if (pattern481 (x2, E_VNx8QImode) != 0
              || !
#line 3806 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6492; /* addvnx8qi3 */

        case E_VNx4QImode:
          if (pattern481 (x2, E_VNx4QImode) != 0
              || !
#line 3806 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6493; /* addvnx4qi3 */

        case E_VNx2QImode:
          if (pattern481 (x2, E_VNx2QImode) != 0
              || !
#line 3806 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6494; /* addvnx2qi3 */

        case E_VNx8HImode:
          if (pattern481 (x2, E_VNx8HImode) != 0
              || !
#line 3806 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6495; /* addvnx8hi3 */

        case E_VNx4HImode:
          if (pattern481 (x2, E_VNx4HImode) != 0
              || !
#line 3806 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6496; /* addvnx4hi3 */

        case E_VNx2HImode:
          if (pattern481 (x2, E_VNx2HImode) != 0
              || !
#line 3806 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6497; /* addvnx2hi3 */

        case E_VNx4SImode:
          if (pattern481 (x2, E_VNx4SImode) != 0
              || !
#line 3806 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6498; /* addvnx4si3 */

        case E_VNx2SImode:
          if (pattern481 (x2, E_VNx2SImode) != 0
              || !
#line 3806 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6499; /* addvnx2si3 */

        case E_VNx2DImode:
          if (pattern481 (x2, E_VNx2DImode) != 0
              || !
#line 3806 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6500; /* addvnx2di3 */

        case E_VNx8HFmode:
          if (pattern1 (x2, E_VNx8HFmode) != 0
              || !
#line 5035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6991; /* *post_ra_faddvnx8hf3 */

        case E_VNx4SFmode:
          if (pattern1 (x2, E_VNx4SFmode) != 0
              || !
#line 5035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6994; /* *post_ra_faddvnx4sf3 */

        case E_VNx2DFmode:
          if (pattern1 (x2, E_VNx2DFmode) != 0
              || !
#line 5035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6997; /* *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 386:
              switch (GET_MODE (operands[0]))
                {
                case E_V4HFmode:
                  if (pattern637 (x2, E_V4HFmode) != 0
                      || !(
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1556; /* aarch64_fcmla0v4hf */

                case E_V8HFmode:
                  if (pattern637 (x2, E_V8HFmode) != 0
                      || !(
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1560; /* aarch64_fcmla0v8hf */

                case E_V2SFmode:
                  if (pattern637 (x2, E_V2SFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1564; /* aarch64_fcmla0v2sf */

                case E_V4SFmode:
                  if (pattern637 (x2, E_V4SFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1568; /* aarch64_fcmla0v4sf */

                case E_V2DFmode:
                  if (pattern637 (x2, E_V2DFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1572; /* aarch64_fcmla0v2df */

                default:
                  return -1;
                }

            case 387:
              switch (GET_MODE (operands[0]))
                {
                case E_V4HFmode:
                  if (pattern637 (x2, E_V4HFmode) != 0
                      || !(
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1557; /* aarch64_fcmla90v4hf */

                case E_V8HFmode:
                  if (pattern637 (x2, E_V8HFmode) != 0
                      || !(
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1561; /* aarch64_fcmla90v8hf */

                case E_V2SFmode:
                  if (pattern637 (x2, E_V2SFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1565; /* aarch64_fcmla90v2sf */

                case E_V4SFmode:
                  if (pattern637 (x2, E_V4SFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1569; /* aarch64_fcmla90v4sf */

                case E_V2DFmode:
                  if (pattern637 (x2, E_V2DFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1573; /* aarch64_fcmla90v2df */

                default:
                  return -1;
                }

            case 388:
              switch (GET_MODE (operands[0]))
                {
                case E_V4HFmode:
                  if (pattern637 (x2, E_V4HFmode) != 0
                      || !(
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1558; /* aarch64_fcmla180v4hf */

                case E_V8HFmode:
                  if (pattern637 (x2, E_V8HFmode) != 0
                      || !(
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1562; /* aarch64_fcmla180v8hf */

                case E_V2SFmode:
                  if (pattern637 (x2, E_V2SFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1566; /* aarch64_fcmla180v2sf */

                case E_V4SFmode:
                  if (pattern637 (x2, E_V4SFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1570; /* aarch64_fcmla180v4sf */

                case E_V2DFmode:
                  if (pattern637 (x2, E_V2DFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1574; /* aarch64_fcmla180v2df */

                default:
                  return -1;
                }

            case 389:
              switch (GET_MODE (operands[0]))
                {
                case E_V4HFmode:
                  if (pattern637 (x2, E_V4HFmode) != 0
                      || !(
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1559; /* aarch64_fcmla270v4hf */

                case E_V8HFmode:
                  if (pattern637 (x2, E_V8HFmode) != 0
                      || !(
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1563; /* aarch64_fcmla270v8hf */

                case E_V2SFmode:
                  if (pattern637 (x2, E_V2SFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1567; /* aarch64_fcmla270v2sf */

                case E_V4SFmode:
                  if (pattern637 (x2, E_V4SFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1571; /* aarch64_fcmla270v4sf */

                case E_V2DFmode:
                  if (pattern637 (x2, E_V2DFmode) != 0
                      || !
#line 523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1575; /* aarch64_fcmla270v2df */

                default:
                  return -1;
                }

            case 526:
              if (pattern576 (x2) != 0
                  || !
#line 9102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                return -1;
              return 4406; /* aarch64_bfmmlaqv4sf */

            case 524:
              if (pattern576 (x2) != 0
                  || !
#line 9114 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                return -1;
              return 4407; /* aarch64_bfmlalbv4sf */

            case 525:
              if (pattern576 (x2) != 0
                  || !
#line 9114 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                return -1;
              return 4408; /* 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 386:
              switch (pattern680 (x2))
                {
                case 0:
                  if (!(
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1576; /* aarch64_fcmla_lane0v4hf */

                case 1:
                  if (!
#line 551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1596; /* aarch64_fcmla_laneq0v4hf */

                case 2:
                  if (!(
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1580; /* aarch64_fcmla_lane0v8hf */

                case 3:
                  if (!
#line 566 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1600; /* aarch64_fcmlaq_lane0v8hf */

                case 4:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1584; /* aarch64_fcmla_lane0v2sf */

                case 5:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1588; /* aarch64_fcmla_lane0v4sf */

                case 6:
                  if (!
#line 566 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1604; /* aarch64_fcmlaq_lane0v4sf */

                case 7:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1592; /* aarch64_fcmla_lane0v2df */

                default:
                  return -1;
                }

            case 387:
              switch (pattern680 (x2))
                {
                case 0:
                  if (!(
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1577; /* aarch64_fcmla_lane90v4hf */

                case 1:
                  if (!
#line 551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1597; /* aarch64_fcmla_laneq90v4hf */

                case 2:
                  if (!(
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1581; /* aarch64_fcmla_lane90v8hf */

                case 3:
                  if (!
#line 566 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1601; /* aarch64_fcmlaq_lane90v8hf */

                case 4:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1585; /* aarch64_fcmla_lane90v2sf */

                case 5:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1589; /* aarch64_fcmla_lane90v4sf */

                case 6:
                  if (!
#line 566 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1605; /* aarch64_fcmlaq_lane90v4sf */

                case 7:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1593; /* aarch64_fcmla_lane90v2df */

                default:
                  return -1;
                }

            case 388:
              switch (pattern680 (x2))
                {
                case 0:
                  if (!(
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1578; /* aarch64_fcmla_lane180v4hf */

                case 1:
                  if (!
#line 551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1598; /* aarch64_fcmla_laneq180v4hf */

                case 2:
                  if (!(
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1582; /* aarch64_fcmla_lane180v8hf */

                case 3:
                  if (!
#line 566 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1602; /* aarch64_fcmlaq_lane180v8hf */

                case 4:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1586; /* aarch64_fcmla_lane180v2sf */

                case 5:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1590; /* aarch64_fcmla_lane180v4sf */

                case 6:
                  if (!
#line 566 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1606; /* aarch64_fcmlaq_lane180v4sf */

                case 7:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1594; /* aarch64_fcmla_lane180v2df */

                default:
                  return -1;
                }

            case 389:
              switch (pattern680 (x2))
                {
                case 0:
                  if (!(
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1579; /* aarch64_fcmla_lane270v4hf */

                case 1:
                  if (!
#line 551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1599; /* aarch64_fcmla_laneq270v4hf */

                case 2:
                  if (!(
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1583; /* aarch64_fcmla_lane270v8hf */

                case 3:
                  if (!
#line 566 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1603; /* aarch64_fcmlaq_lane270v8hf */

                case 4:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1587; /* aarch64_fcmla_lane270v2sf */

                case 5:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1591; /* aarch64_fcmla_lane270v4sf */

                case 6:
                  if (!
#line 566 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1607; /* aarch64_fcmlaq_lane270v4sf */

                case 7:
                  if (!
#line 536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
                    return -1;
                  return 1595; /* aarch64_fcmla_lane270v2df */

                default:
                  return -1;
                }

            case 524:
              switch (pattern681 (x2))
                {
                case 0:
                  if (!
#line 9126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4409; /* aarch64_bfmlalb_lanev4sf */

                case 1:
                  if (!
#line 9126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4411; /* aarch64_bfmlalb_lane_qv4sf */

                default:
                  return -1;
                }

            case 525:
              switch (pattern681 (x2))
                {
                case 0:
                  if (!
#line 9126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4410; /* aarch64_bfmlalt_lanev4sf */

                case 1:
                  if (!
#line 9126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
                    return -1;
                  return 4412; /* aarch64_bfmlalt_lane_qv4sf */

                default:
                  return -1;
                }

            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, 0);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern268 (x2, E_SImode) != 0)
            return -1;
          return 416; /* maddsi */

        case E_DImode:
          if (pattern268 (x2, E_DImode) != 0)
            return -1;
          return 417; /* madddi */

        case E_V8QImode:
          if (pattern267 (x2, E_V8QImode) != 0
              || !
#line 1421 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1893; /* aarch64_mlav8qi */

        case E_V16QImode:
          if (pattern267 (x2, E_V16QImode) != 0
              || !
#line 1421 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1894; /* aarch64_mlav16qi */

        case E_V4HImode:
          if (pattern267 (x2, E_V4HImode) != 0
              || !
#line 1421 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1895; /* aarch64_mlav4hi */

        case E_V8HImode:
          if (pattern267 (x2, E_V8HImode) != 0
              || !
#line 1421 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1896; /* aarch64_mlav8hi */

        case E_V2SImode:
          if (pattern267 (x2, E_V2SImode) != 0
              || !
#line 1421 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1897; /* aarch64_mlav2si */

        case E_V4SImode:
          if (pattern267 (x2, E_V4SImode) != 0
              || !
#line 1421 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1898; /* 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 (pattern391 (x2))
                {
                case 0:
                  return 427; /* maddsidi4 */

                case 1:
                  if (!
#line 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2110; /* aarch64_smlalv8qi */

                case 2:
                  if (!
#line 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2112; /* aarch64_smlalv4hi */

                case 3:
                  if (!
#line 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2114; /* aarch64_smlalv2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern393 (x2, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2116; /* aarch64_smlal_nv4hi */

                case 1:
                  if (!
#line 2239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2118; /* aarch64_smlal_nv2si */

                case 2:
                  if (!
#line 2480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2172; /* aarch64_vec_smlal_lane_v4hi */

                case 3:
                  if (!
#line 2480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2174; /* aarch64_vec_smlal_laneq_v4hi */

                case 4:
                  if (!
#line 2480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2176; /* aarch64_vec_smlal_lane_v2si */

                case 5:
                  if (!
#line 2480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2178; /* 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 (pattern579 (x2))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2078; /* *aarch64_smlal_lov16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2088 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2084; /* aarch64_smlal_hiv16qi_insn */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2080; /* *aarch64_smlal_lov8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2088 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2086; /* aarch64_smlal_hiv8hi_insn */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2082; /* *aarch64_smlal_lov4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2088 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2088; /* aarch64_smlal_hiv4si_insn */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern581 (x2, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2119 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2090; /* aarch64_smlal_hi_nv8hi_insn */

                case 1:
                  if (!
#line 2119 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2092; /* aarch64_smlal_hi_nv4si_insn */

                case 2:
                  if (!
#line 2502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2180; /* aarch64_smlal_hi_lanev8hi_insn */

                case 3:
                  if (!
#line 2539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2184; /* aarch64_smlal_hi_laneqv8hi_insn */

                case 4:
                  if (!
#line 2502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2182; /* aarch64_smlal_hi_lanev4si_insn */

                case 5:
                  if (!
#line 2539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2186; /* 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 (pattern391 (x2))
                {
                case 0:
                  return 428; /* umaddsidi4 */

                case 1:
                  if (!
#line 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2111; /* aarch64_umlalv8qi */

                case 2:
                  if (!
#line 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2113; /* aarch64_umlalv4hi */

                case 3:
                  if (!
#line 2224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2115; /* aarch64_umlalv2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern393 (x2, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2117; /* aarch64_umlal_nv4hi */

                case 1:
                  if (!
#line 2239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2119; /* aarch64_umlal_nv2si */

                case 2:
                  if (!
#line 2480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2173; /* aarch64_vec_umlal_lane_v4hi */

                case 3:
                  if (!
#line 2480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2175; /* aarch64_vec_umlal_laneq_v4hi */

                case 4:
                  if (!
#line 2480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2177; /* aarch64_vec_umlal_lane_v2si */

                case 5:
                  if (!
#line 2480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2179; /* 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 (pattern579 (x2))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2079; /* *aarch64_umlal_lov16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2088 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2085; /* aarch64_umlal_hiv16qi_insn */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2081; /* *aarch64_umlal_lov8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2088 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2087; /* aarch64_umlal_hiv8hi_insn */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2083; /* *aarch64_umlal_lov4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2088 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2089; /* aarch64_umlal_hiv4si_insn */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern581 (x2, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2119 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2091; /* aarch64_umlal_hi_nv8hi_insn */

                case 1:
                  if (!
#line 2119 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2093; /* aarch64_umlal_hi_nv4si_insn */

                case 2:
                  if (!
#line 2502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2181; /* aarch64_umlal_hi_lanev8hi_insn */

                case 3:
                  if (!
#line 2539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2185; /* aarch64_umlal_hi_laneqv8hi_insn */

                case 4:
                  if (!
#line 2502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2183; /* aarch64_umlal_hi_lanev4si_insn */

                case 5:
                  if (!
#line 2539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2187; /* 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 (pattern766 (x2, E_V4HImode, E_HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V4HImode:
                  if (!register_operand (operands[1], E_V4HImode)
                      || !
#line 1436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1899; /* *aarch64_mla_eltv4hi */

                case E_V8HImode:
                  if (!register_operand (operands[1], E_V8HImode)
                      || !
#line 1454 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1903; /* *aarch64_mla_elt_to_128v4hi */

                default:
                  return -1;
                }

            case E_V8HImode:
              if (pattern766 (x2, E_V8HImode, E_HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V8HImode:
                  if (!register_operand (operands[1], E_V8HImode)
                      || !
#line 1436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1900; /* *aarch64_mla_eltv8hi */

                case E_V4HImode:
                  if (!register_operand (operands[1], E_V4HImode)
                      || !
#line 1454 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1904; /* *aarch64_mla_elt_to_64v8hi */

                default:
                  return -1;
                }

            case E_V2SImode:
              if (pattern766 (x2, E_V2SImode, E_SImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V2SImode:
                  if (!register_operand (operands[1], E_V2SImode)
                      || !
#line 1436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1901; /* *aarch64_mla_eltv2si */

                case E_V4SImode:
                  if (!register_operand (operands[1], E_V4SImode)
                      || !
#line 1454 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1905; /* *aarch64_mla_elt_to_128v2si */

                default:
                  return -1;
                }

            case E_V4SImode:
              if (pattern766 (x2, E_V4SImode, E_SImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V4SImode:
                  if (!register_operand (operands[1], E_V4SImode)
                      || !
#line 1436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1902; /* *aarch64_mla_eltv4si */

                case E_V2SImode:
                  if (!register_operand (operands[1], E_V2SImode)
                      || !
#line 1454 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1906; /* *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 (pattern582 (x2, E_V4HImode, E_HImode) != 0
                  || !
#line 1470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1907; /* aarch64_mla_nv4hi */

            case E_V8HImode:
              if (pattern582 (x2, E_V8HImode, E_HImode) != 0
                  || !
#line 1470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1908; /* aarch64_mla_nv8hi */

            case E_V2SImode:
              if (pattern582 (x2, E_V2SImode, E_SImode) != 0
                  || !
#line 1470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1909; /* aarch64_mla_nv2si */

            case E_V4SImode:
              if (pattern582 (x2, E_V4SImode, E_SImode) != 0
                  || !
#line 1470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1910; /* aarch64_mla_nv4si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 154)
        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 (pattern727 (x2, E_VNx8HImode) != 0
              || !
#line 731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9509; /* aarch64_sve_add_mul_lane_vnx8hi */

        case E_VNx4SImode:
          if (pattern727 (x2, E_VNx4SImode) != 0
              || !
#line 731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9510; /* aarch64_sve_add_mul_lane_vnx4si */

        case E_VNx2DImode:
          if (pattern727 (x2, E_VNx2DImode) != 0
              || !
#line 731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9511; /* aarch64_sve_add_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;
  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 (pattern385 (x2, E_SImode))
                {
                case 0:
                  return 252; /* *add_zero_extendqi_si */

                case 1:
                  return 256; /* *add_zero_extendhi_si */

                case 2:
                  return 260; /* *add_zero_extendsi_si */

                default:
                  return -1;
                }

            case E_DImode:
              switch (pattern385 (x2, E_DImode))
                {
                case 0:
                  return 254; /* *add_zero_extendqi_di */

                case 1:
                  return 258; /* *add_zero_extendhi_di */

                case 2:
                  return 262; /* *add_zero_extendsi_di */

                default:
                  return -1;
                }

            case E_V8HImode:
              if (pattern386 (x2, E_V8HImode, E_V8QImode) != 0
                  || !
#line 4671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2722; /* aarch64_uaddwv8qi */

            case E_V4SImode:
              if (pattern386 (x2, E_V4SImode, E_V4HImode) != 0
                  || !
#line 4671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2724; /* aarch64_uaddwv4hi */

            case E_V2DImode:
              if (pattern386 (x2, E_V2DImode, E_V2SImode) != 0
                  || !
#line 4671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2726; /* aarch64_uaddwv2si */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern56 (x2))
            {
            case 0:
              if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2693; /* aarch64_uaddlv8qi */

            case 1:
              if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2697; /* aarch64_uaddlv4hi */

            case 2:
              if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2701; /* 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 (pattern387 (x2))
            {
            case 0:
              if (vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2669; /* aarch64_uaddlv16qi_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2681; /* aarch64_uaddlv16qi_lo_internal */

            case 1:
              if (vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2673; /* aarch64_uaddlv8hi_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2685; /* aarch64_uaddlv8hi_lo_internal */

            case 2:
              if (vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2677; /* aarch64_uaddlv4si_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2689; /* aarch64_uaddlv4si_lo_internal */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (pattern389 (x2))
            {
            case 0:
              if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  && 
#line 4684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2728; /* aarch64_uaddwv16qi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  || !
#line 4697 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2734; /* aarch64_uaddw2v16qi_internal */

            case 1:
              if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  && 
#line 4684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2730; /* aarch64_uaddwv8hi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  || !
#line 4697 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2736; /* aarch64_uaddw2v8hi_internal */

            case 2:
              if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  && 
#line 4684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2732; /* aarch64_uaddwv4si_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  || !
#line 4697 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2738; /* aarch64_uaddw2v4si_internal */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (pattern194 (x2, E_DImode) != 0)
        return -1;
      switch (pattern167 (x2))
        {
        case 0:
          if (!
#line 9961 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9119; /* aarch64_sve_incdi_pat */

        case 1:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9153; /* *aarch64_sve_incdivnx16bi_cntp */

        case 2:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9156; /* *aarch64_sve_incdivnx8bi_cntp */

        case 3:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9159; /* *aarch64_sve_incdivnx4bi_cntp */

        case 4:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9162; /* *aarch64_sve_incdivnx2bi_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;
  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 (pattern385 (x2, E_SImode))
                {
                case 0:
                  return 251; /* *add_extendqi_si */

                case 1:
                  return 255; /* *add_extendhi_si */

                case 2:
                  return 259; /* *add_extendsi_si */

                default:
                  return -1;
                }

            case E_DImode:
              switch (pattern385 (x2, E_DImode))
                {
                case 0:
                  return 253; /* *add_extendqi_di */

                case 1:
                  return 257; /* *add_extendhi_di */

                case 2:
                  return 261; /* *add_extendsi_di */

                default:
                  return -1;
                }

            case E_V8HImode:
              if (pattern386 (x2, E_V8HImode, E_V8QImode) != 0
                  || !
#line 4671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2721; /* aarch64_saddwv8qi */

            case E_V4SImode:
              if (pattern386 (x2, E_V4SImode, E_V4HImode) != 0
                  || !
#line 4671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2723; /* aarch64_saddwv4hi */

            case E_V2DImode:
              if (pattern386 (x2, E_V2DImode, E_V2SImode) != 0
                  || !
#line 4671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2725; /* aarch64_saddwv2si */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          switch (pattern56 (x2))
            {
            case 0:
              if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2691; /* aarch64_saddlv8qi */

            case 1:
              if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2695; /* aarch64_saddlv4hi */

            case 2:
              if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2699; /* 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 (pattern387 (x2))
            {
            case 0:
              if (vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2667; /* aarch64_saddlv16qi_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2679; /* aarch64_saddlv16qi_lo_internal */

            case 1:
              if (vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2671; /* aarch64_saddlv8hi_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2683; /* aarch64_saddlv8hi_lo_internal */

            case 2:
              if (vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2675; /* aarch64_saddlv4si_hi_internal */
              if (!vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2687; /* aarch64_saddlv4si_lo_internal */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (pattern389 (x2))
            {
            case 0:
              if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  && 
#line 4684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2727; /* aarch64_saddwv16qi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  || !
#line 4697 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2733; /* aarch64_saddw2v16qi_internal */

            case 1:
              if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  && 
#line 4684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2729; /* aarch64_saddwv8hi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  || !
#line 4697 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2735; /* aarch64_saddw2v8hi_internal */

            case 2:
              if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  && 
#line 4684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2731; /* aarch64_saddwv4si_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  || !
#line 4697 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2737; /* aarch64_saddw2v4si_internal */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_57 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, 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 (pattern404 (x2, E_SImode) != 0)
            return -1;
          return 419; /* *msubsi */

        case E_DImode:
          if (pattern404 (x2, E_DImode) != 0)
            return -1;
          return 420; /* *msubdi */

        case E_V8QImode:
          if (pattern405 (x2, E_V8QImode) != 0
              || !
#line 1480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1911; /* aarch64_mlsv8qi */

        case E_V16QImode:
          if (pattern405 (x2, E_V16QImode) != 0
              || !
#line 1480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1912; /* aarch64_mlsv16qi */

        case E_V4HImode:
          if (pattern405 (x2, E_V4HImode) != 0
              || !
#line 1480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1913; /* aarch64_mlsv4hi */

        case E_V8HImode:
          if (pattern405 (x2, E_V8HImode) != 0
              || !
#line 1480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1914; /* aarch64_mlsv8hi */

        case E_V2SImode:
          if (pattern405 (x2, E_V2SImode) != 0
              || !
#line 1480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1915; /* aarch64_mlsv2si */

        case E_V4SImode:
          if (pattern405 (x2, E_V4SImode) != 0
              || !
#line 1480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1916; /* 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 (pattern490 (x2))
                {
                case 0:
                  return 429; /* msubsidi4 */

                case 1:
                  if (!
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2120; /* aarch64_smlslv8qi */

                case 2:
                  if (!
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2122; /* aarch64_smlslv4hi */

                case 3:
                  if (!
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2124; /* aarch64_smlslv2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern492 (x2, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2126; /* aarch64_smlsl_nv4hi */

                case 1:
                  if (!
#line 2268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2128; /* aarch64_smlsl_nv2si */

                case 2:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2188; /* aarch64_vec_smlsl_lane_v4hi */

                case 3:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2190; /* aarch64_vec_smlsl_laneq_v4hi */

                case 4:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2192; /* aarch64_vec_smlsl_lane_v2si */

                case 5:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2194; /* 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 (pattern640 (x2))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2149 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2094; /* *aarch64_smlsl_lov16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2100; /* aarch64_smlsl_hiv16qi_insn */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2149 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2096; /* *aarch64_smlsl_lov8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2102; /* aarch64_smlsl_hiv8hi_insn */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2149 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2098; /* *aarch64_smlsl_lov4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2104; /* aarch64_smlsl_hiv4si_insn */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern642 (x2, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2106; /* aarch64_smlsl_hi_nv8hi_insn */

                case 1:
                  if (!
#line 2196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2108; /* aarch64_smlsl_hi_nv4si_insn */

                case 2:
                  if (!
#line 2597 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2196; /* aarch64_smlsl_hi_lanev8hi_insn */

                case 3:
                  if (!
#line 2635 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2200; /* aarch64_smlsl_hi_laneqv8hi_insn */

                case 4:
                  if (!
#line 2597 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2198; /* aarch64_smlsl_hi_lanev4si_insn */

                case 5:
                  if (!
#line 2635 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2202; /* 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 (pattern490 (x2))
                {
                case 0:
                  return 430; /* umsubsidi4 */

                case 1:
                  if (!
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2121; /* aarch64_umlslv8qi */

                case 2:
                  if (!
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2123; /* aarch64_umlslv4hi */

                case 3:
                  if (!
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2125; /* aarch64_umlslv2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern492 (x2, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2127; /* aarch64_umlsl_nv4hi */

                case 1:
                  if (!
#line 2268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2129; /* aarch64_umlsl_nv2si */

                case 2:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2189; /* aarch64_vec_umlsl_lane_v4hi */

                case 3:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2191; /* aarch64_vec_umlsl_laneq_v4hi */

                case 4:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2193; /* aarch64_vec_umlsl_lane_v2si */

                case 5:
                  if (!
#line 2574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2195; /* 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 (pattern640 (x2))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2149 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2095; /* *aarch64_umlsl_lov16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2101; /* aarch64_umlsl_hiv16qi_insn */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2149 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2097; /* *aarch64_umlsl_lov8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2103; /* aarch64_umlsl_hiv8hi_insn */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2149 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2099; /* *aarch64_umlsl_lov4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2105; /* aarch64_umlsl_hiv4si_insn */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern642 (x2, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2107; /* aarch64_umlsl_hi_nv8hi_insn */

                case 1:
                  if (!
#line 2196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2109; /* aarch64_umlsl_hi_nv4si_insn */

                case 2:
                  if (!
#line 2597 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2197; /* aarch64_umlsl_hi_lanev8hi_insn */

                case 3:
                  if (!
#line 2635 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2201; /* aarch64_umlsl_hi_laneqv8hi_insn */

                case 4:
                  if (!
#line 2597 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2199; /* aarch64_umlsl_hi_lanev4si_insn */

                case 5:
                  if (!
#line 2635 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2203; /* 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 (pattern808 (x2, E_V4HImode, E_HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V4HImode:
                  if (!register_operand (operands[1], E_V4HImode)
                      || !
#line 1495 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1917; /* *aarch64_mls_eltv4hi */

                case E_V8HImode:
                  if (!register_operand (operands[1], E_V8HImode)
                      || !
#line 1513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1921; /* *aarch64_mls_elt_to_128v4hi */

                default:
                  return -1;
                }

            case E_V8HImode:
              if (pattern808 (x2, E_V8HImode, E_HImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V8HImode:
                  if (!register_operand (operands[1], E_V8HImode)
                      || !
#line 1495 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1918; /* *aarch64_mls_eltv8hi */

                case E_V4HImode:
                  if (!register_operand (operands[1], E_V4HImode)
                      || !
#line 1513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1922; /* *aarch64_mls_elt_to_64v8hi */

                default:
                  return -1;
                }

            case E_V2SImode:
              if (pattern808 (x2, E_V2SImode, E_SImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V2SImode:
                  if (!register_operand (operands[1], E_V2SImode)
                      || !
#line 1495 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1919; /* *aarch64_mls_eltv2si */

                case E_V4SImode:
                  if (!register_operand (operands[1], E_V4SImode)
                      || !
#line 1513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1923; /* *aarch64_mls_elt_to_128v2si */

                default:
                  return -1;
                }

            case E_V4SImode:
              if (pattern808 (x2, E_V4SImode, E_SImode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V4SImode:
                  if (!register_operand (operands[1], E_V4SImode)
                      || !
#line 1495 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1920; /* *aarch64_mls_eltv4si */

                case E_V2SImode:
                  if (!register_operand (operands[1], E_V2SImode)
                      || !
#line 1513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1924; /* *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 (pattern643 (x2, E_V4HImode, E_HImode) != 0
                  || !
#line 1529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1925; /* aarch64_mls_nv4hi */

            case E_V8HImode:
              if (pattern643 (x2, E_V8HImode, E_HImode) != 0
                  || !
#line 1529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1926; /* aarch64_mls_nv8hi */

            case E_V2SImode:
              if (pattern643 (x2, E_V2SImode, E_SImode) != 0
                  || !
#line 1529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1927; /* aarch64_mls_nv2si */

            case E_V4SImode:
              if (pattern643 (x2, E_V4SImode, E_SImode) != 0
                  || !
#line 1529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1928; /* aarch64_mls_nv4si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 154)
        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 (pattern770 (x2, E_VNx8HImode) != 0
              || !
#line 748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9512; /* aarch64_sve_sub_mul_lane_vnx8hi */

        case E_VNx4SImode:
          if (pattern770 (x2, E_VNx4SImode) != 0
              || !
#line 748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9513; /* aarch64_sve_sub_mul_lane_vnx4si */

        case E_VNx2DImode:
          if (pattern770 (x2, E_VNx2DImode) != 0
              || !
#line 748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9514; /* aarch64_sve_sub_mul_lane_vnx2di */

        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, 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 (pattern1 (x2, E_SImode) != 0)
            return -1;
          return 301; /* subsi3 */

        case E_DImode:
          if (pattern1 (x2, E_DImode) != 0)
            return -1;
          return 303; /* subdi3 */

        case E_HFmode:
          if (pattern1 (x2, E_HFmode) != 0
              || !(
#line 6692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return -1;
          return 1056; /* subhf3 */

        case E_SFmode:
          if (pattern1 (x2, E_SFmode) != 0
              || !
#line 6692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1057; /* subsf3 */

        case E_DFmode:
          if (pattern1 (x2, E_DFmode) != 0
              || !
#line 6692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1058; /* subdf3 */

        case E_V8QImode:
          if (pattern1 (x2, E_V8QImode) != 0
              || !
#line 419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1526; /* subv8qi3 */

        case E_V16QImode:
          if (pattern1 (x2, E_V16QImode) != 0
              || !
#line 419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1527; /* subv16qi3 */

        case E_V4HImode:
          if (pattern1 (x2, E_V4HImode) != 0
              || !
#line 419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1528; /* subv4hi3 */

        case E_V8HImode:
          if (pattern1 (x2, E_V8HImode) != 0
              || !
#line 419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1529; /* subv8hi3 */

        case E_V2SImode:
          if (pattern1 (x2, E_V2SImode) != 0
              || !
#line 419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1530; /* subv2si3 */

        case E_V4SImode:
          if (pattern1 (x2, E_V4SImode) != 0
              || !
#line 419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1531; /* subv4si3 */

        case E_V2DImode:
          if (pattern1 (x2, E_V2DImode) != 0
              || !
#line 419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1532; /* subv2di3 */

        case E_V4HFmode:
          if (pattern1 (x2, E_V4HFmode) != 0
              || !(
#line 2696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2209; /* subv4hf3 */

        case E_V8HFmode:
          if (pattern1 (x2, E_V8HFmode) != 0
              || !(
#line 2696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2210; /* subv8hf3 */

        case E_V2SFmode:
          if (pattern1 (x2, E_V2SFmode) != 0
              || !
#line 2696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2211; /* subv2sf3 */

        case E_V4SFmode:
          if (pattern1 (x2, E_V4SFmode) != 0
              || !
#line 2696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2212; /* subv4sf3 */

        case E_V2DFmode:
          if (pattern1 (x2, E_V2DFmode) != 0
              || !
#line 2696 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2213; /* subv2df3 */

        case E_VNx16QImode:
          if (pattern487 (x2, E_VNx16QImode) != 0
              || !
#line 3832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6501; /* subvnx16qi3 */

        case E_VNx8QImode:
          if (pattern487 (x2, E_VNx8QImode) != 0
              || !
#line 3832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6502; /* subvnx8qi3 */

        case E_VNx4QImode:
          if (pattern487 (x2, E_VNx4QImode) != 0
              || !
#line 3832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6503; /* subvnx4qi3 */

        case E_VNx2QImode:
          if (pattern487 (x2, E_VNx2QImode) != 0
              || !
#line 3832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6504; /* subvnx2qi3 */

        case E_VNx8HImode:
          if (pattern487 (x2, E_VNx8HImode) != 0
              || !
#line 3832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6505; /* subvnx8hi3 */

        case E_VNx4HImode:
          if (pattern487 (x2, E_VNx4HImode) != 0
              || !
#line 3832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6506; /* subvnx4hi3 */

        case E_VNx2HImode:
          if (pattern487 (x2, E_VNx2HImode) != 0
              || !
#line 3832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6507; /* subvnx2hi3 */

        case E_VNx4SImode:
          if (pattern487 (x2, E_VNx4SImode) != 0
              || !
#line 3832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6508; /* subvnx4si3 */

        case E_VNx2SImode:
          if (pattern487 (x2, E_VNx2SImode) != 0
              || !
#line 3832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6509; /* subvnx2si3 */

        case E_VNx2DImode:
          if (pattern487 (x2, E_VNx2DImode) != 0
              || !
#line 3832 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6510; /* subvnx2di3 */

        case E_VNx8HFmode:
          if (pattern1 (x2, E_VNx8HFmode) != 0
              || !
#line 5035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6992; /* *post_ra_fsubvnx8hf3 */

        case E_VNx4SFmode:
          if (pattern1 (x2, E_VNx4SFmode) != 0
              || !
#line 5035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6995; /* *post_ra_fsubvnx4sf3 */

        case E_VNx2DFmode:
          if (pattern1 (x2, E_VNx2DFmode) != 0
              || !
#line 5035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6998; /* *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 (pattern197 (x2))
            {
            case 0:
              return 323; /* *sub_lsl_si */

            case 1:
              return 326; /* *sub_lsl_di */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          switch (pattern319 (x2))
            {
            case 0:
              return 348; /* *sub_extendqi_shft_si */

            case 1:
              return 352; /* *sub_extendhi_shft_si */

            case 2:
              return 356; /* *sub_extendsi_shft_si */

            case 3:
              return 350; /* *sub_extendqi_shft_di */

            case 4:
              return 354; /* *sub_extendhi_shft_di */

            case 5:
              return 358; /* *sub_extendsi_shft_di */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern319 (x2))
            {
            case 0:
              return 349; /* *sub_zero_extendqi_shft_si */

            case 1:
              return 353; /* *sub_zero_extendhi_shft_si */

            case 2:
              return 357; /* *sub_zero_extendsi_shft_si */

            case 3:
              return 351; /* *sub_zero_extendqi_shft_di */

            case 4:
              return 355; /* *sub_zero_extendhi_shft_di */

            case 5:
              return 359; /* *sub_zero_extendsi_shft_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern198 (x2))
        {
        case 0:
          return 324; /* *sub_asr_si */

        case 1:
          return 327; /* *sub_asr_di */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern198 (x2))
        {
        case 0:
          return 325; /* *sub_lsr_si */

        case 1:
          return 328; /* *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 (pattern401 (x2))
            {
            case 0:
              return 332; /* *sub_extendqi_si */

            case 1:
              return 336; /* *sub_extendhi_si */

            case 2:
              return 340; /* *sub_extendsi_si */

            case 3:
              return 334; /* *sub_extendqi_di */

            case 4:
              return 338; /* *sub_extendhi_di */

            case 5:
              return 342; /* *sub_extendsi_di */

            case 6:
              if (!
#line 4637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2703; /* aarch64_ssubwv8qi */

            case 7:
              if (!
#line 4637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2705; /* aarch64_ssubwv4hi */

            case 8:
              if (!
#line 4637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2707; /* aarch64_ssubwv2si */

            default:
              return -1;
            }

        case VEC_SELECT:
          switch (pattern403 (x2))
            {
            case 0:
              if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  && 
#line 4649 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2709; /* aarch64_ssubwv16qi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2715; /* aarch64_ssubw2v16qi_internal */

            case 1:
              if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  && 
#line 4649 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2711; /* aarch64_ssubwv8hi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2717; /* aarch64_ssubw2v8hi_internal */

            case 2:
              if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  && 
#line 4649 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2713; /* aarch64_ssubwv4si_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2719; /* 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 (pattern401 (x2))
            {
            case 0:
              return 333; /* *sub_zero_extendqi_si */

            case 1:
              return 337; /* *sub_zero_extendhi_si */

            case 2:
              return 341; /* *sub_zero_extendsi_si */

            case 3:
              return 335; /* *sub_zero_extendqi_di */

            case 4:
              return 339; /* *sub_zero_extendhi_di */

            case 5:
              return 343; /* *sub_zero_extendsi_di */

            case 6:
              if (!
#line 4637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2704; /* aarch64_usubwv8qi */

            case 7:
              if (!
#line 4637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2706; /* aarch64_usubwv4hi */

            case 8:
              if (!
#line 4637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2708; /* aarch64_usubwv2si */

            default:
              return -1;
            }

        case VEC_SELECT:
          switch (pattern403 (x2))
            {
            case 0:
              if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                  && 
#line 4649 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2710; /* aarch64_usubwv16qi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2716; /* aarch64_usubw2v16qi_internal */

            case 1:
              if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                  && 
#line 4649 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2712; /* aarch64_usubwv8hi_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2718; /* aarch64_usubw2v8hi_internal */

            case 2:
              if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                  && 
#line 4649 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2714; /* aarch64_usubwv4si_internal */
              if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                  || !
#line 4661 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2720; /* 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 (pattern283 (x5))
            {
            case 0:
              if (!
#line 10111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9134; /* aarch64_sve_decdi_pat */

            case 1:
              if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9186; /* *aarch64_sve_decdivnx16bi_cntp */

            case 2:
              if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9189; /* *aarch64_sve_decdivnx8bi_cntp */

            case 3:
              if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9192; /* *aarch64_sve_decdivnx4bi_cntp */

            case 4:
              if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9195; /* *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 (pattern488 (x2, E_SImode) != 0)
            return -1;
          return 364; /* *subsi3_carryin0 */

        case E_DImode:
          if (pattern488 (x2, E_DImode) != 0)
            return -1;
          return 365; /* *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 (pattern729 (x2, E_SImode) != 0
              || !
#line 3604 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]),INTVAL (operands[3])) != 0))
            return -1;
          return 383; /* *sub_uxtsi_shift2 */

        case E_DImode:
          if (pattern729 (x2, E_DImode) != 0
              || !
#line 3604 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]),INTVAL (operands[3])) != 0))
            return -1;
          return 384; /* *sub_uxtdi_shift2 */

        default:
          return -1;
        }

    case MULT:
      return recog_57 (x1, insn, pnum_clobbers);

    case UNSPEC:
      switch (XVECLEN (x3, 0))
        {
        case 2:
          switch (XINT (x3, 1))
            {
            case 119:
              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 (pattern730 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                      || !
#line 6761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7473; /* aarch64_pred_fnmavnx16qi */

                case E_VNx8QImode:
                  if (pattern730 (x2, E_VNx8QImode, E_VNx8BImode) != 0
                      || !
#line 6761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7474; /* aarch64_pred_fnmavnx8qi */

                case E_VNx4QImode:
                  if (pattern730 (x2, E_VNx4QImode, E_VNx4BImode) != 0
                      || !
#line 6761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7475; /* aarch64_pred_fnmavnx4qi */

                case E_VNx2QImode:
                  if (pattern730 (x2, E_VNx2QImode, E_VNx2BImode) != 0
                      || !
#line 6761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7476; /* aarch64_pred_fnmavnx2qi */

                case E_VNx8HImode:
                  if (pattern730 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                      || !
#line 6761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7477; /* aarch64_pred_fnmavnx8hi */

                case E_VNx4HImode:
                  if (pattern730 (x2, E_VNx4HImode, E_VNx4BImode) != 0
                      || !
#line 6761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7478; /* aarch64_pred_fnmavnx4hi */

                case E_VNx2HImode:
                  if (pattern730 (x2, E_VNx2HImode, E_VNx2BImode) != 0
                      || !
#line 6761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7479; /* aarch64_pred_fnmavnx2hi */

                case E_VNx4SImode:
                  if (pattern730 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 6761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7480; /* aarch64_pred_fnmavnx4si */

                case E_VNx2SImode:
                  if (pattern730 (x2, E_VNx2SImode, E_VNx2BImode) != 0
                      || !
#line 6761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7481; /* aarch64_pred_fnmavnx2si */

                case E_VNx2DImode:
                  if (pattern730 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 6761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7482; /* aarch64_pred_fnmavnx2di */

                default:
                  return -1;
                }

            case 462:
              switch (pattern411 (x2))
                {
                case 0:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9763; /* aarch64_sve_sub_smullbvnx8hi */

                case 1:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9767; /* aarch64_sve_sub_smullbvnx4si */

                case 2:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9771; /* aarch64_sve_sub_smullbvnx2di */

                case 3:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9775; /* aarch64_sve_sub_smullb_lane_vnx4si */

                case 4:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9779; /* aarch64_sve_sub_smullb_lane_vnx2di */

                default:
                  return -1;
                }

            case 463:
              switch (pattern411 (x2))
                {
                case 0:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9764; /* aarch64_sve_sub_smulltvnx8hi */

                case 1:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9768; /* aarch64_sve_sub_smulltvnx4si */

                case 2:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9772; /* aarch64_sve_sub_smulltvnx2di */

                case 3:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9776; /* aarch64_sve_sub_smullt_lane_vnx4si */

                case 4:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9780; /* aarch64_sve_sub_smullt_lane_vnx2di */

                default:
                  return -1;
                }

            case 507:
              switch (pattern411 (x2))
                {
                case 0:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9765; /* aarch64_sve_sub_umullbvnx8hi */

                case 1:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9769; /* aarch64_sve_sub_umullbvnx4si */

                case 2:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9773; /* aarch64_sve_sub_umullbvnx2di */

                case 3:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9777; /* aarch64_sve_sub_umullb_lane_vnx4si */

                case 4:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9781; /* aarch64_sve_sub_umullb_lane_vnx2di */

                default:
                  return -1;
                }

            case 508:
              switch (pattern411 (x2))
                {
                case 0:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9766; /* aarch64_sve_sub_umulltvnx8hi */

                case 1:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9770; /* aarch64_sve_sub_umulltvnx4si */

                case 2:
                  if (!
#line 1429 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9774; /* aarch64_sve_sub_umulltvnx2di */

                case 3:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9778; /* aarch64_sve_sub_umullt_lane_vnx4si */

                case 4:
                  if (!
#line 1448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9782; /* 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 155:
              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 10128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9137; /* *aarch64_sve_decsi_pat */

            case 293:
              x9 = XVECEXP (x3, 0, 1);
              if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
                return -1;
              switch (pattern720 (x3))
                {
                case 0:
                  if (!
#line 10548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9198; /* *aarch64_decsivnx16bi_cntp */

                case 1:
                  if (!
#line 10548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9199; /* *aarch64_decsivnx8bi_cntp */

                case 2:
                  if (!
#line 10548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9200; /* *aarch64_decsivnx4bi_cntp */

                case 3:
                  if (!
#line 10548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9201; /* *aarch64_decsivnx2bi_cntp */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (pattern285 (x2))
        {
        case 0:
          if (!
#line 10176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9140; /* aarch64_sve_decvnx2di_pat */

        case 1:
          if (!
#line 10636 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9210; /* *aarch64_sve_decvnx2di_cntp */

        case 2:
          if (!
#line 10197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9143; /* aarch64_sve_decvnx4si_pat */

        case 3:
          if (!
#line 10675 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9213; /* *aarch64_sve_decvnx4si_cntp */

        case 4:
          if (!
#line 10232 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9146; /* *aarch64_sve_decvnx8hi_pat */

        case 5:
          if (!
#line 10716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9216; /* *aarch64_sve_decvnx8hi_cntp */

        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, 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 486; /* 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 487; /* 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 488; /* 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 489; /* cstoredi_neg */
              break;

            default:
              break;
            }
        }
    }
  switch (GET_CODE (x3))
    {
    case LT:
      switch (pattern204 (x2))
        {
        case 0:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3433; /* aarch64_cmltv8qi */

        case 1:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3438; /* aarch64_cmltv16qi */

        case 2:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3443; /* aarch64_cmltv4hi */

        case 3:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3530; /* aarch64_cmltv4hf */

        case 4:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3448; /* aarch64_cmltv8hi */

        case 5:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3535; /* aarch64_cmltv8hf */

        case 6:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3453; /* aarch64_cmltv2si */

        case 7:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3540; /* aarch64_cmltv2sf */

        case 8:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3458; /* aarch64_cmltv4si */

        case 9:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3545; /* aarch64_cmltv4sf */

        case 10:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3463; /* aarch64_cmltv2di */

        case 11:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3550; /* aarch64_cmltv2df */

        case 12:
          if (pnum_clobbers != NULL
              && 
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3468; /* aarch64_cmltdi */
            }
          if (!
#line 6559 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3473; /* *aarch64_cmltdi */

        case 13:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3565; /* aarch64_cmltdf */

        case 14:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3555; /* aarch64_cmlthf */

        case 15:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3560; /* aarch64_cmltsf */

        case 16:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3570; /* aarch64_facltv4hf */

        case 17:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3574; /* aarch64_facltv8hf */

        case 18:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3578; /* aarch64_facltv2sf */

        case 19:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3582; /* aarch64_facltv4sf */

        case 20:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3586; /* aarch64_facltv2df */

        case 21:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3590; /* aarch64_faclthf */

        case 22:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3594; /* aarch64_facltsf */

        case 23:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3598; /* aarch64_facltdf */

        default:
          return -1;
        }

    case LE:
      switch (pattern204 (x2))
        {
        case 0:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3434; /* aarch64_cmlev8qi */

        case 1:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3439; /* aarch64_cmlev16qi */

        case 2:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3444; /* aarch64_cmlev4hi */

        case 3:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3531; /* aarch64_cmlev4hf */

        case 4:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3449; /* aarch64_cmlev8hi */

        case 5:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3536; /* aarch64_cmlev8hf */

        case 6:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3454; /* aarch64_cmlev2si */

        case 7:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3541; /* aarch64_cmlev2sf */

        case 8:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3459; /* aarch64_cmlev4si */

        case 9:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3546; /* aarch64_cmlev4sf */

        case 10:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3464; /* aarch64_cmlev2di */

        case 11:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3551; /* aarch64_cmlev2df */

        case 12:
          if (pnum_clobbers != NULL
              && 
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3469; /* aarch64_cmledi */
            }
          if (!
#line 6559 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3474; /* *aarch64_cmledi */

        case 13:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3566; /* aarch64_cmledf */

        case 14:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3556; /* aarch64_cmlehf */

        case 15:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3561; /* aarch64_cmlesf */

        case 16:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3571; /* aarch64_faclev4hf */

        case 17:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3575; /* aarch64_faclev8hf */

        case 18:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3579; /* aarch64_faclev2sf */

        case 19:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3583; /* aarch64_faclev4sf */

        case 20:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3587; /* aarch64_faclev2df */

        case 21:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3591; /* aarch64_faclehf */

        case 22:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3595; /* aarch64_faclesf */

        case 23:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3599; /* aarch64_facledf */

        default:
          return -1;
        }

    case EQ:
      switch (pattern202 (x2))
        {
        case 0:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3435; /* aarch64_cmeqv8qi */

        case 1:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3440; /* aarch64_cmeqv16qi */

        case 2:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3445; /* aarch64_cmeqv4hi */

        case 3:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3532; /* aarch64_cmeqv4hf */

        case 4:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3450; /* aarch64_cmeqv8hi */

        case 5:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3537; /* aarch64_cmeqv8hf */

        case 6:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3455; /* aarch64_cmeqv2si */

        case 7:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3542; /* aarch64_cmeqv2sf */

        case 8:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3460; /* aarch64_cmeqv4si */

        case 9:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3547; /* aarch64_cmeqv4sf */

        case 10:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3465; /* aarch64_cmeqv2di */

        case 11:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3552; /* aarch64_cmeqv2df */

        case 12:
          if (pnum_clobbers != NULL
              && 
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3470; /* aarch64_cmeqdi */
            }
          if (!
#line 6559 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3475; /* *aarch64_cmeqdi */

        case 13:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3567; /* aarch64_cmeqdf */

        case 14:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3557; /* aarch64_cmeqhf */

        case 15:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3562; /* aarch64_cmeqsf */

        default:
          return -1;
        }

    case GE:
      switch (pattern204 (x2))
        {
        case 0:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3436; /* aarch64_cmgev8qi */

        case 1:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3441; /* aarch64_cmgev16qi */

        case 2:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3446; /* aarch64_cmgev4hi */

        case 3:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3533; /* aarch64_cmgev4hf */

        case 4:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3451; /* aarch64_cmgev8hi */

        case 5:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3538; /* aarch64_cmgev8hf */

        case 6:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3456; /* aarch64_cmgev2si */

        case 7:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3543; /* aarch64_cmgev2sf */

        case 8:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3461; /* aarch64_cmgev4si */

        case 9:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3548; /* aarch64_cmgev4sf */

        case 10:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3466; /* aarch64_cmgev2di */

        case 11:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3553; /* aarch64_cmgev2df */

        case 12:
          if (pnum_clobbers != NULL
              && 
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3471; /* aarch64_cmgedi */
            }
          if (!
#line 6559 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3476; /* *aarch64_cmgedi */

        case 13:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3568; /* aarch64_cmgedf */

        case 14:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3558; /* aarch64_cmgehf */

        case 15:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3563; /* aarch64_cmgesf */

        case 16:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3572; /* aarch64_facgev4hf */

        case 17:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3576; /* aarch64_facgev8hf */

        case 18:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3580; /* aarch64_facgev2sf */

        case 19:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3584; /* aarch64_facgev4sf */

        case 20:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3588; /* aarch64_facgev2df */

        case 21:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3592; /* aarch64_facgehf */

        case 22:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3596; /* aarch64_facgesf */

        case 23:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3600; /* aarch64_facgedf */

        default:
          return -1;
        }

    case GT:
      switch (pattern204 (x2))
        {
        case 0:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3437; /* aarch64_cmgtv8qi */

        case 1:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3442; /* aarch64_cmgtv16qi */

        case 2:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3447; /* aarch64_cmgtv4hi */

        case 3:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3534; /* aarch64_cmgtv4hf */

        case 4:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3452; /* aarch64_cmgtv8hi */

        case 5:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3539; /* aarch64_cmgtv8hf */

        case 6:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3457; /* aarch64_cmgtv2si */

        case 7:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3544; /* aarch64_cmgtv2sf */

        case 8:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3462; /* aarch64_cmgtv4si */

        case 9:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3549; /* aarch64_cmgtv4sf */

        case 10:
          if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3467; /* aarch64_cmgtv2di */

        case 11:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3554; /* aarch64_cmgtv2df */

        case 12:
          if (pnum_clobbers != NULL
              && 
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3472; /* aarch64_cmgtdi */
            }
          if (!
#line 6559 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3477; /* *aarch64_cmgtdi */

        case 13:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3569; /* aarch64_cmgtdf */

        case 14:
          if (!(
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3559; /* aarch64_cmgthf */

        case 15:
          if (!
#line 6727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3564; /* aarch64_cmgtsf */

        case 16:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3573; /* aarch64_facgtv4hf */

        case 17:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3577; /* aarch64_facgtv8hf */

        case 18:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3581; /* aarch64_facgtv2sf */

        case 19:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3585; /* aarch64_facgtv4sf */

        case 20:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3589; /* aarch64_facgtv2df */

        case 21:
          if (!(
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 3593; /* aarch64_facgthf */

        case 22:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3597; /* aarch64_facgtsf */

        case 23:
          if (!
#line 6747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3601; /* aarch64_facgtdf */

        default:
          return -1;
        }

    case LTU:
      switch (pattern205 (x2))
        {
        case 0:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3478; /* aarch64_cmltuv8qi */

        case 1:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3482; /* aarch64_cmltuv16qi */

        case 2:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3486; /* aarch64_cmltuv4hi */

        case 3:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3490; /* aarch64_cmltuv8hi */

        case 4:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3494; /* aarch64_cmltuv2si */

        case 5:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3498; /* aarch64_cmltuv4si */

        case 6:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3502; /* aarch64_cmltuv2di */

        case 7:
          if (pnum_clobbers != NULL
              && 
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3506; /* aarch64_cmltudi */
            }
          if (!
#line 6622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3510; /* *aarch64_cmltudi */

        default:
          return -1;
        }

    case LEU:
      switch (pattern205 (x2))
        {
        case 0:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3479; /* aarch64_cmleuv8qi */

        case 1:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3483; /* aarch64_cmleuv16qi */

        case 2:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3487; /* aarch64_cmleuv4hi */

        case 3:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3491; /* aarch64_cmleuv8hi */

        case 4:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3495; /* aarch64_cmleuv2si */

        case 5:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3499; /* aarch64_cmleuv4si */

        case 6:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3503; /* aarch64_cmleuv2di */

        case 7:
          if (pnum_clobbers != NULL
              && 
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3507; /* aarch64_cmleudi */
            }
          if (!
#line 6622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3511; /* *aarch64_cmleudi */

        default:
          return -1;
        }

    case GEU:
      switch (pattern205 (x2))
        {
        case 0:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3480; /* aarch64_cmgeuv8qi */

        case 1:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3484; /* aarch64_cmgeuv16qi */

        case 2:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3488; /* aarch64_cmgeuv4hi */

        case 3:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3492; /* aarch64_cmgeuv8hi */

        case 4:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3496; /* aarch64_cmgeuv2si */

        case 5:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3500; /* aarch64_cmgeuv4si */

        case 6:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3504; /* aarch64_cmgeuv2di */

        case 7:
          if (pnum_clobbers != NULL
              && 
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3508; /* aarch64_cmgeudi */
            }
          if (!
#line 6622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3512; /* *aarch64_cmgeudi */

        default:
          return -1;
        }

    case GTU:
      switch (pattern205 (x2))
        {
        case 0:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3481; /* aarch64_cmgtuv8qi */

        case 1:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3485; /* aarch64_cmgtuv16qi */

        case 2:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3489; /* aarch64_cmgtuv4hi */

        case 3:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3493; /* aarch64_cmgtuv8hi */

        case 4:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3497; /* aarch64_cmgtuv2si */

        case 5:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3501; /* aarch64_cmgtuv4si */

        case 6:
          if (!
#line 6575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3505; /* aarch64_cmgtuv2di */

        case 7:
          if (pnum_clobbers != NULL
              && 
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            {
              *pnum_clobbers = 1;
              return 3509; /* aarch64_cmgtudi */
            }
          if (!
#line 6622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && reload_completed))
            return -1;
          return 3513; /* *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 6676 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        {
          *pnum_clobbers = 1;
          return 3528; /* aarch64_cmtstdi */
        }
      if (!
#line 6713 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3529; /* *aarch64_cmtstdi */

    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 = 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 (pattern1 (x2, E_SImode) != 0)
            return -1;
          return 413; /* mulsi3 */

        case E_DImode:
          if (pattern1 (x2, E_DImode) != 0)
            return -1;
          return 414; /* muldi3 */

        case E_HFmode:
          if (pattern1 (x2, E_HFmode) != 0
              || !(
#line 6702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return -1;
          return 1059; /* mulhf3 */

        case E_SFmode:
          if (pattern1 (x2, E_SFmode) != 0
              || !
#line 6702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1060; /* mulsf3 */

        case E_DFmode:
          if (pattern1 (x2, E_DFmode) != 0
              || !
#line 6702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1061; /* muldf3 */

        case E_V8QImode:
          if (pattern1 (x2, E_V8QImode) != 0
              || !
#line 428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1533; /* mulv8qi3 */

        case E_V16QImode:
          if (pattern1 (x2, E_V16QImode) != 0
              || !
#line 428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1534; /* mulv16qi3 */

        case E_V4HImode:
          if (pattern1 (x2, E_V4HImode) != 0
              || !
#line 428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1535; /* mulv4hi3 */

        case E_V8HImode:
          if (pattern1 (x2, E_V8HImode) != 0
              || !
#line 428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1536; /* mulv8hi3 */

        case E_V2SImode:
          if (pattern1 (x2, E_V2SImode) != 0
              || !
#line 428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1537; /* mulv2si3 */

        case E_V4SImode:
          if (pattern1 (x2, E_V4SImode) != 0
              || !
#line 428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1538; /* mulv4si3 */

        case E_V4HFmode:
          if (pattern1 (x2, E_V4HFmode) != 0
              || !(
#line 2705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2214; /* mulv4hf3 */

        case E_V8HFmode:
          if (pattern1 (x2, E_V8HFmode) != 0
              || !(
#line 2705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2215; /* mulv8hf3 */

        case E_V2SFmode:
          if (pattern1 (x2, E_V2SFmode) != 0
              || !
#line 2705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2216; /* mulv2sf3 */

        case E_V4SFmode:
          if (pattern1 (x2, E_V4SFmode) != 0
              || !
#line 2705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2217; /* mulv4sf3 */

        case E_V2DFmode:
          if (pattern1 (x2, E_V2DFmode) != 0
              || !
#line 2705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2218; /* mulv2df3 */

        case E_VNx8HFmode:
          if (pattern1 (x2, E_VNx8HFmode) != 0
              || !
#line 5035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6993; /* *post_ra_fmulvnx8hf3 */

        case E_VNx4SFmode:
          if (pattern1 (x2, E_VNx4SFmode) != 0
              || !
#line 5035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6996; /* *post_ra_fmulvnx4sf3 */

        case E_VNx2DFmode:
          if (pattern1 (x2, E_VNx2DFmode) != 0
              || !
#line 5035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6999; /* *post_ra_fmulvnx2df3 */

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern18 (x2, E_VNx16QImode) != 0
              || !
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5931; /* *post_ra_mulvnx16qi3 */

        case E_VNx8QImode:
          if (pattern18 (x2, E_VNx8QImode) != 0
              || !
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5936; /* *post_ra_mulvnx8qi3 */

        case E_VNx4QImode:
          if (pattern18 (x2, E_VNx4QImode) != 0
              || !
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5941; /* *post_ra_mulvnx4qi3 */

        case E_VNx2QImode:
          if (pattern18 (x2, E_VNx2QImode) != 0
              || !
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5946; /* *post_ra_mulvnx2qi3 */

        case E_VNx8HImode:
          if (pattern18 (x2, E_VNx8HImode) != 0
              || !
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5951; /* *post_ra_mulvnx8hi3 */

        case E_VNx4HImode:
          if (pattern18 (x2, E_VNx4HImode) != 0
              || !
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5956; /* *post_ra_mulvnx4hi3 */

        case E_VNx2HImode:
          if (pattern18 (x2, E_VNx2HImode) != 0
              || !
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5961; /* *post_ra_mulvnx2hi3 */

        case E_VNx4SImode:
          if (pattern18 (x2, E_VNx4SImode) != 0
              || !
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5966; /* *post_ra_mulvnx4si3 */

        case E_VNx2SImode:
          if (pattern18 (x2, E_VNx2SImode) != 0
              || !
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5971; /* *post_ra_mulvnx2si3 */

        case E_VNx2DImode:
          if (pattern18 (x2, E_VNx2DImode) != 0
              || !
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5976; /* *post_ra_mulvnx2di3 */

        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, 1);
  x4 = XVECEXP (x3, 0, 0);
  operands[2] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[3] = x5;
  switch (XINT (x3, 1))
    {
    case 306:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6621; /* aarch64_pred_smulhvnx16qi */

        case E_VNx8QImode:
          if (pattern596 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6623; /* aarch64_pred_smulhvnx8qi */

        case E_VNx4QImode:
          if (pattern596 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6625; /* aarch64_pred_smulhvnx4qi */

        case E_VNx2QImode:
          if (pattern596 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6627; /* aarch64_pred_smulhvnx2qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6629; /* aarch64_pred_smulhvnx8hi */

        case E_VNx4HImode:
          if (pattern596 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6631; /* aarch64_pred_smulhvnx4hi */

        case E_VNx2HImode:
          if (pattern596 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6633; /* aarch64_pred_smulhvnx2hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6635; /* aarch64_pred_smulhvnx4si */

        case E_VNx2SImode:
          if (pattern596 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6637; /* aarch64_pred_smulhvnx2si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6639; /* aarch64_pred_smulhvnx2di */

        default:
          return -1;
        }

    case 307:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6622; /* aarch64_pred_umulhvnx16qi */

        case E_VNx8QImode:
          if (pattern596 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6624; /* aarch64_pred_umulhvnx8qi */

        case E_VNx4QImode:
          if (pattern596 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6626; /* aarch64_pred_umulhvnx4qi */

        case E_VNx2QImode:
          if (pattern596 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6628; /* aarch64_pred_umulhvnx2qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6630; /* aarch64_pred_umulhvnx8hi */

        case E_VNx4HImode:
          if (pattern596 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6632; /* aarch64_pred_umulhvnx4hi */

        case E_VNx2HImode:
          if (pattern596 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6634; /* aarch64_pred_umulhvnx2hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6636; /* aarch64_pred_umulhvnx4si */

        case E_VNx2SImode:
          if (pattern596 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6638; /* aarch64_pred_umulhvnx2si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 4239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6640; /* aarch64_pred_umulhvnx2di */

        default:
          return -1;
        }

    case 394:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern691 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 4771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6880; /* *sdiv_pow2vnx16qi3 */

        case E_VNx8QImode:
          if (pattern691 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 4771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6881; /* *sdiv_pow2vnx8qi3 */

        case E_VNx4QImode:
          if (pattern691 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 4771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6882; /* *sdiv_pow2vnx4qi3 */

        case E_VNx2QImode:
          if (pattern691 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 4771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6883; /* *sdiv_pow2vnx2qi3 */

        case E_VNx8HImode:
          if (pattern691 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 4771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6884; /* *sdiv_pow2vnx8hi3 */

        case E_VNx4HImode:
          if (pattern691 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 4771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6885; /* *sdiv_pow2vnx4hi3 */

        case E_VNx2HImode:
          if (pattern691 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 4771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6886; /* *sdiv_pow2vnx2hi3 */

        case E_VNx4SImode:
          if (pattern691 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 4771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6887; /* *sdiv_pow2vnx4si3 */

        case E_VNx2SImode:
          if (pattern691 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 4771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6888; /* *sdiv_pow2vnx2si3 */

        case E_VNx2DImode:
          if (pattern691 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 4771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6889; /* *sdiv_pow2vnx2di3 */

        default:
          return -1;
        }

    case 183:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9249; /* aarch64_pred_shaddvnx16qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9259; /* aarch64_pred_shaddvnx8hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9269; /* aarch64_pred_shaddvnx4si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9279; /* aarch64_pred_shaddvnx2di */

        default:
          return -1;
        }

    case 187:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9250; /* aarch64_pred_shsubvnx16qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9260; /* aarch64_pred_shsubvnx8hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9270; /* aarch64_pred_shsubvnx4si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9280; /* aarch64_pred_shsubvnx2di */

        default:
          return -1;
        }

    case 219:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9251; /* aarch64_pred_sqrshlvnx16qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9261; /* aarch64_pred_sqrshlvnx8hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9271; /* aarch64_pred_sqrshlvnx4si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9281; /* aarch64_pred_sqrshlvnx2di */

        default:
          return -1;
        }

    case 185:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9252; /* aarch64_pred_srhaddvnx16qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9262; /* aarch64_pred_srhaddvnx8hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9272; /* aarch64_pred_srhaddvnx4si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9282; /* aarch64_pred_srhaddvnx2di */

        default:
          return -1;
        }

    case 217:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9253; /* aarch64_pred_srshlvnx16qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9263; /* aarch64_pred_srshlvnx8hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9273; /* aarch64_pred_srshlvnx4si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9283; /* aarch64_pred_srshlvnx2di */

        default:
          return -1;
        }

    case 184:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9254; /* aarch64_pred_uhaddvnx16qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9264; /* aarch64_pred_uhaddvnx8hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9274; /* aarch64_pred_uhaddvnx4si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9284; /* aarch64_pred_uhaddvnx2di */

        default:
          return -1;
        }

    case 188:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9255; /* aarch64_pred_uhsubvnx16qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9265; /* aarch64_pred_uhsubvnx8hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9275; /* aarch64_pred_uhsubvnx4si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9285; /* aarch64_pred_uhsubvnx2di */

        default:
          return -1;
        }

    case 220:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9256; /* aarch64_pred_uqrshlvnx16qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9266; /* aarch64_pred_uqrshlvnx8hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9276; /* aarch64_pred_uqrshlvnx4si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9286; /* aarch64_pred_uqrshlvnx2di */

        default:
          return -1;
        }

    case 186:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9257; /* aarch64_pred_urhaddvnx16qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9267; /* aarch64_pred_urhaddvnx8hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9277; /* aarch64_pred_urhaddvnx4si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9287; /* aarch64_pred_urhaddvnx2di */

        default:
          return -1;
        }

    case 218:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern596 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9258; /* aarch64_pred_urshlvnx16qi */

        case E_VNx8HImode:
          if (pattern596 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9268; /* aarch64_pred_urshlvnx8hi */

        case E_VNx4SImode:
          if (pattern596 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9278; /* aarch64_pred_urshlvnx4si */

        case E_VNx2DImode:
          if (pattern596 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9288; /* aarch64_pred_urshlvnx2di */

        default:
          return -1;
        }

    case 207:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern692 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9439; /* aarch64_pred_sqshlvnx16qi */

        case E_VNx8HImode:
          if (pattern692 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9441; /* aarch64_pred_sqshlvnx8hi */

        case E_VNx4SImode:
          if (pattern692 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9443; /* aarch64_pred_sqshlvnx4si */

        case E_VNx2DImode:
          if (pattern692 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9445; /* aarch64_pred_sqshlvnx2di */

        default:
          return -1;
        }

    case 208:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern692 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9440; /* aarch64_pred_uqshlvnx16qi */

        case E_VNx8HImode:
          if (pattern692 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9442; /* aarch64_pred_uqshlvnx8hi */

        case E_VNx4SImode:
          if (pattern692 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9444; /* aarch64_pred_uqshlvnx4si */

        case E_VNx2DImode:
          if (pattern692 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 537 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9446; /* aarch64_pred_uqshlvnx2di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_62 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case UNSPEC:
      switch (pattern430 (x2))
        {
        case 0:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4808; /* aarch64_load_x_extendvnx8hivnx8qi */

        case 1:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4812; /* aarch64_load_x_extendvnx4hivnx4qi */

        case 2:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4816; /* aarch64_load_x_extendvnx2hivnx2qi */

        case 3:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4820; /* aarch64_load_x_extendvnx4sivnx4qi */

        case 4:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4824; /* aarch64_load_x_extendvnx4sivnx4hi */

        case 5:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4828; /* aarch64_load_x_extendvnx2sivnx2qi */

        case 6:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4832; /* aarch64_load_x_extendvnx2sivnx2hi */

        case 7:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4836; /* aarch64_load_x_extendvnx2divnx2qi */

        case 8:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4840; /* aarch64_load_x_extendvnx2divnx2hi */

        case 9:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4844; /* aarch64_load_x_extendvnx2divnx2si */

        case 10:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4809; /* aarch64_load_extendvnx8hivnx8qi */

        case 11:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4813; /* aarch64_load_extendvnx4hivnx4qi */

        case 12:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4817; /* aarch64_load_extendvnx2hivnx2qi */

        case 13:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4821; /* aarch64_load_extendvnx4sivnx4qi */

        case 14:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4825; /* aarch64_load_extendvnx4sivnx4hi */

        case 15:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4829; /* aarch64_load_extendvnx2sivnx2qi */

        case 16:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4833; /* aarch64_load_extendvnx2sivnx2hi */

        case 17:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4837; /* aarch64_load_extendvnx2divnx2qi */

        case 18:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4841; /* aarch64_load_extendvnx2divnx2hi */

        case 19:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4845; /* aarch64_load_extendvnx2divnx2si */

        case 20:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4864; /* aarch64_ldff1_extendvnx8hivnx8qi */

        case 21:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4868; /* aarch64_ldff1_extendvnx4hivnx4qi */

        case 22:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4872; /* aarch64_ldff1_extendvnx2hivnx2qi */

        case 23:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4876; /* aarch64_ldff1_extendvnx4sivnx4qi */

        case 24:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4880; /* aarch64_ldff1_extendvnx4sivnx4hi */

        case 25:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4884; /* aarch64_ldff1_extendvnx2sivnx2qi */

        case 26:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4888; /* aarch64_ldff1_extendvnx2sivnx2hi */

        case 27:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4892; /* aarch64_ldff1_extendvnx2divnx2qi */

        case 28:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4896; /* aarch64_ldff1_extendvnx2divnx2hi */

        case 29:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4900; /* aarch64_ldff1_extendvnx2divnx2si */

        case 30:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4865; /* aarch64_ldnf1_extendvnx8hivnx8qi */

        case 31:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4869; /* aarch64_ldnf1_extendvnx4hivnx4qi */

        case 32:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4873; /* aarch64_ldnf1_extendvnx2hivnx2qi */

        case 33:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4877; /* aarch64_ldnf1_extendvnx4sivnx4qi */

        case 34:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4881; /* aarch64_ldnf1_extendvnx4sivnx4hi */

        case 35:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4885; /* aarch64_ldnf1_extendvnx2sivnx2qi */

        case 36:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4889; /* aarch64_ldnf1_extendvnx2sivnx2hi */

        case 37:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4893; /* aarch64_ldnf1_extendvnx2divnx2qi */

        case 38:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4897; /* aarch64_ldnf1_extendvnx2divnx2hi */

        case 39:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4901; /* aarch64_ldnf1_extendvnx2divnx2si */

        case 40:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4958; /* aarch64_gather_load_extendvnx4hivnx4qi */

        case 41:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4960; /* aarch64_gather_load_extendvnx4sivnx4qi */

        case 42:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4962; /* aarch64_gather_load_extendvnx4sivnx4hi */

        case 43:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4964; /* aarch64_gather_load_extendvnx2hivnx2qi */

        case 44:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4966; /* aarch64_gather_load_extendvnx2sivnx2qi */

        case 45:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4970; /* aarch64_gather_load_extendvnx2sivnx2hi */

        case 46:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4968; /* aarch64_gather_load_extendvnx2divnx2qi */

        case 47:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4972; /* aarch64_gather_load_extendvnx2divnx2hi */

        case 48:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4974; /* aarch64_gather_load_extendvnx2divnx2si */

        case 49:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4976; /* *aarch64_gather_load_extendvnx2hivnx2qi_sxtw_unpacked */

        case 50:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4980; /* *aarch64_gather_load_extendvnx2sivnx2qi_sxtw_unpacked */

        case 51:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4988; /* *aarch64_gather_load_extendvnx2sivnx2hi_sxtw_unpacked */

        case 52:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4984; /* *aarch64_gather_load_extendvnx2divnx2qi_sxtw_unpacked */

        case 53:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4992; /* *aarch64_gather_load_extendvnx2divnx2hi_sxtw_unpacked */

        case 54:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4996; /* *aarch64_gather_load_extendvnx2divnx2si_sxtw_unpacked */

        case 55:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 5000; /* *aarch64_gather_load_extendvnx2hivnx2qi_sxtw */

        case 56:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 5002; /* *aarch64_gather_load_extendvnx2sivnx2qi_sxtw */

        case 57:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 5006; /* *aarch64_gather_load_extendvnx2sivnx2hi_sxtw */

        case 58:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 5004; /* *aarch64_gather_load_extendvnx2divnx2qi_sxtw */

        case 59:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 5008; /* *aarch64_gather_load_extendvnx2divnx2hi_sxtw */

        case 60:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 5010; /* *aarch64_gather_load_extendvnx2divnx2si_sxtw */

        case 61:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4978; /* *aarch64_gather_load_extendvnx2hivnx2qi_uxtw_unpacked */

        case 62:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4982; /* *aarch64_gather_load_extendvnx2sivnx2qi_uxtw_unpacked */

        case 63:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4990; /* *aarch64_gather_load_extendvnx2sivnx2hi_uxtw_unpacked */

        case 64:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4986; /* *aarch64_gather_load_extendvnx2divnx2qi_uxtw_unpacked */

        case 65:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4994; /* *aarch64_gather_load_extendvnx2divnx2hi_uxtw_unpacked */

        case 66:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4998; /* *aarch64_gather_load_extendvnx2divnx2si_uxtw_unpacked */

        case 67:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 5012; /* *aarch64_gather_load_extendvnx2hivnx2qi_uxtw */

        case 68:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 5014; /* *aarch64_gather_load_extendvnx2sivnx2qi_uxtw */

        case 69:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 5018; /* *aarch64_gather_load_extendvnx2sivnx2hi_uxtw */

        case 70:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 5016; /* *aarch64_gather_load_extendvnx2divnx2qi_uxtw */

        case 71:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 5020; /* *aarch64_gather_load_extendvnx2divnx2hi_uxtw */

        case 72:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 5022; /* *aarch64_gather_load_extendvnx2divnx2si_uxtw */

        case 73:
          if (!
#line 1820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5032; /* aarch64_ldff1_gather_extendvnx4sivnx4qi */

        case 74:
          if (!
#line 1820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5034; /* aarch64_ldff1_gather_extendvnx4sivnx4hi */

        case 75:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5036; /* aarch64_ldff1_gather_extendvnx2divnx2qi */

        case 76:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5038; /* aarch64_ldff1_gather_extendvnx2divnx2hi */

        case 77:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5040; /* aarch64_ldff1_gather_extendvnx2divnx2si */

        case 78:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5042; /* *aarch64_ldff1_gather_extendvnx2divnx2qi_sxtw */

        case 79:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5044; /* *aarch64_ldff1_gather_extendvnx2divnx2hi_sxtw */

        case 80:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5046; /* *aarch64_ldff1_gather_extendvnx2divnx2si_sxtw */

        case 81:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5048; /* *aarch64_ldff1_gather_extendvnx2divnx2qi_uxtw */

        case 82:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5050; /* *aarch64_ldff1_gather_extendvnx2divnx2hi_uxtw */

        case 83:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5052; /* *aarch64_ldff1_gather_extendvnx2divnx2si_uxtw */

        case 84:
          if (!
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x41) == 0))
            return -1;
          return 9223; /* aarch64_gather_ldnt_extendvnx4sivnx4qi */

        case 85:
          if (!
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x42) == 0))
            return -1;
          return 9227; /* aarch64_gather_ldnt_extendvnx4sivnx4hi */

        case 86:
          if (!
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x21) == 0))
            return -1;
          return 9225; /* aarch64_gather_ldnt_extendvnx2divnx2qi */

        case 87:
          if (!
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x22) == 0))
            return -1;
          return 9229; /* aarch64_gather_ldnt_extendvnx2divnx2hi */

        case 88:
          if (!
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x24) == 0))
            return -1;
          return 9231; /* aarch64_gather_ldnt_extendvnx2divnx2si */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      switch (pattern432 (x2))
        {
        case 0:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 5611; /* *extendvnx8qivnx8hi2 */

        case 1:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 5613; /* *extendvnx4qivnx4hi2 */

        case 2:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 5615; /* *extendvnx2qivnx2hi2 */

        case 3:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 5617; /* *extendvnx4qivnx4si2 */

        case 4:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 5619; /* *extendvnx4hivnx4si2 */

        case 5:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 5621; /* *extendvnx2qivnx2si2 */

        case 6:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 5623; /* *extendvnx2hivnx2si2 */

        case 7:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 5625; /* *extendvnx2qivnx2di2 */

        case 8:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 5627; /* *extendvnx2hivnx2di2 */

        case 9:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 5629; /* *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 3125 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x81 & 0x81) == 0))
            return -1;
          return 5631; /* aarch64_pred_sxtvnx8hivnx8qi */

        case E_VNx4SImode:
          if (pattern589 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          switch (GET_MODE (x4))
            {
            case E_VNx4QImode:
              if (!
#line 3125 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x43 & 0x41) == 0))
                return -1;
              return 5632; /* aarch64_pred_sxtvnx4sivnx4qi */

            case E_VNx4HImode:
              if (!
#line 3125 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x43 & 0x42) == 0))
                return -1;
              return 5633; /* aarch64_pred_sxtvnx4sivnx4hi */

            default:
              return -1;
            }

        case E_VNx2DImode:
          if (pattern589 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          switch (GET_MODE (x4))
            {
            case E_VNx2QImode:
              if (!
#line 3125 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x21) == 0))
                return -1;
              return 5634; /* aarch64_pred_sxtvnx2divnx2qi */

            case E_VNx2HImode:
              if (!
#line 3125 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x22) == 0))
                return -1;
              return 5635; /* aarch64_pred_sxtvnx2divnx2hi */

            case E_VNx2SImode:
              if (!
#line 3125 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x24) == 0))
                return -1;
              return 5636; /* aarch64_pred_sxtvnx2divnx2si */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_63 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  x4 = XEXP (x3, 0);
  switch (GET_CODE (x4))
    {
    case UNSPEC:
      switch (pattern430 (x2))
        {
        case 0:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4810; /* aarch64_load_x_zero_extendvnx8hivnx8qi */

        case 1:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4814; /* aarch64_load_x_zero_extendvnx4hivnx4qi */

        case 2:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4818; /* aarch64_load_x_zero_extendvnx2hivnx2qi */

        case 3:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4822; /* aarch64_load_x_zero_extendvnx4sivnx4qi */

        case 4:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4826; /* aarch64_load_x_zero_extendvnx4sivnx4hi */

        case 5:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4830; /* aarch64_load_x_zero_extendvnx2sivnx2qi */

        case 6:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4834; /* aarch64_load_x_zero_extendvnx2sivnx2hi */

        case 7:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4838; /* aarch64_load_x_zero_extendvnx2divnx2qi */

        case 8:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4842; /* aarch64_load_x_zero_extendvnx2divnx2hi */

        case 9:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4846; /* aarch64_load_x_zero_extendvnx2divnx2si */

        case 10:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4811; /* aarch64_load_zero_extendvnx8hivnx8qi */

        case 11:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4815; /* aarch64_load_zero_extendvnx4hivnx4qi */

        case 12:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4819; /* aarch64_load_zero_extendvnx2hivnx2qi */

        case 13:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4823; /* aarch64_load_zero_extendvnx4sivnx4qi */

        case 14:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4827; /* aarch64_load_zero_extendvnx4sivnx4hi */

        case 15:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4831; /* aarch64_load_zero_extendvnx2sivnx2qi */

        case 16:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4835; /* aarch64_load_zero_extendvnx2sivnx2hi */

        case 17:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4839; /* aarch64_load_zero_extendvnx2divnx2qi */

        case 18:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4843; /* aarch64_load_zero_extendvnx2divnx2hi */

        case 19:
          if (!
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4847; /* aarch64_load_zero_extendvnx2divnx2si */

        case 20:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4866; /* aarch64_ldff1_zero_extendvnx8hivnx8qi */

        case 21:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4870; /* aarch64_ldff1_zero_extendvnx4hivnx4qi */

        case 22:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4874; /* aarch64_ldff1_zero_extendvnx2hivnx2qi */

        case 23:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4878; /* aarch64_ldff1_zero_extendvnx4sivnx4qi */

        case 24:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4882; /* aarch64_ldff1_zero_extendvnx4sivnx4hi */

        case 25:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4886; /* aarch64_ldff1_zero_extendvnx2sivnx2qi */

        case 26:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4890; /* aarch64_ldff1_zero_extendvnx2sivnx2hi */

        case 27:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4894; /* aarch64_ldff1_zero_extendvnx2divnx2qi */

        case 28:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4898; /* aarch64_ldff1_zero_extendvnx2divnx2hi */

        case 29:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4902; /* aarch64_ldff1_zero_extendvnx2divnx2si */

        case 30:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 4867; /* aarch64_ldnf1_zero_extendvnx8hivnx8qi */

        case 31:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4871; /* aarch64_ldnf1_zero_extendvnx4hivnx4qi */

        case 32:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4875; /* aarch64_ldnf1_zero_extendvnx2hivnx2qi */

        case 33:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4879; /* aarch64_ldnf1_zero_extendvnx4sivnx4qi */

        case 34:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4883; /* aarch64_ldnf1_zero_extendvnx4sivnx4hi */

        case 35:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4887; /* aarch64_ldnf1_zero_extendvnx2sivnx2qi */

        case 36:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4891; /* aarch64_ldnf1_zero_extendvnx2sivnx2hi */

        case 37:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4895; /* aarch64_ldnf1_zero_extendvnx2divnx2qi */

        case 38:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4899; /* aarch64_ldnf1_zero_extendvnx2divnx2hi */

        case 39:
          if (!
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4903; /* aarch64_ldnf1_zero_extendvnx2divnx2si */

        case 40:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 4959; /* aarch64_gather_load_zero_extendvnx4hivnx4qi */

        case 41:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 4961; /* aarch64_gather_load_zero_extendvnx4sivnx4qi */

        case 42:
          if (!
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 4963; /* aarch64_gather_load_zero_extendvnx4sivnx4hi */

        case 43:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4965; /* aarch64_gather_load_zero_extendvnx2hivnx2qi */

        case 44:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4967; /* aarch64_gather_load_zero_extendvnx2sivnx2qi */

        case 45:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4971; /* aarch64_gather_load_zero_extendvnx2sivnx2hi */

        case 46:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4969; /* aarch64_gather_load_zero_extendvnx2divnx2qi */

        case 47:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4973; /* aarch64_gather_load_zero_extendvnx2divnx2hi */

        case 48:
          if (!
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4975; /* aarch64_gather_load_zero_extendvnx2divnx2si */

        case 49:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4977; /* *aarch64_gather_load_zero_extendvnx2hivnx2qi_sxtw_unpacked */

        case 50:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4981; /* *aarch64_gather_load_zero_extendvnx2sivnx2qi_sxtw_unpacked */

        case 51:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4989; /* *aarch64_gather_load_zero_extendvnx2sivnx2hi_sxtw_unpacked */

        case 52:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4985; /* *aarch64_gather_load_zero_extendvnx2divnx2qi_sxtw_unpacked */

        case 53:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4993; /* *aarch64_gather_load_zero_extendvnx2divnx2hi_sxtw_unpacked */

        case 54:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4997; /* *aarch64_gather_load_zero_extendvnx2divnx2si_sxtw_unpacked */

        case 55:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 5001; /* *aarch64_gather_load_zero_extendvnx2hivnx2qi_sxtw */

        case 56:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 5003; /* *aarch64_gather_load_zero_extendvnx2sivnx2qi_sxtw */

        case 57:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 5007; /* *aarch64_gather_load_zero_extendvnx2sivnx2hi_sxtw */

        case 58:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 5005; /* *aarch64_gather_load_zero_extendvnx2divnx2qi_sxtw */

        case 59:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 5009; /* *aarch64_gather_load_zero_extendvnx2divnx2hi_sxtw */

        case 60:
          if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 5011; /* *aarch64_gather_load_zero_extendvnx2divnx2si_sxtw */

        case 61:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 4979; /* *aarch64_gather_load_zero_extendvnx2hivnx2qi_uxtw_unpacked */

        case 62:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 4983; /* *aarch64_gather_load_zero_extendvnx2sivnx2qi_uxtw_unpacked */

        case 63:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 4991; /* *aarch64_gather_load_zero_extendvnx2sivnx2hi_uxtw_unpacked */

        case 64:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 4987; /* *aarch64_gather_load_zero_extendvnx2divnx2qi_uxtw_unpacked */

        case 65:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 4995; /* *aarch64_gather_load_zero_extendvnx2divnx2hi_uxtw_unpacked */

        case 66:
          if (!
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 4999; /* *aarch64_gather_load_zero_extendvnx2divnx2si_uxtw_unpacked */

        case 67:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 5013; /* *aarch64_gather_load_zero_extendvnx2hivnx2qi_uxtw */

        case 68:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 5015; /* *aarch64_gather_load_zero_extendvnx2sivnx2qi_uxtw */

        case 69:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 5019; /* *aarch64_gather_load_zero_extendvnx2sivnx2hi_uxtw */

        case 70:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 5017; /* *aarch64_gather_load_zero_extendvnx2divnx2qi_uxtw */

        case 71:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 5021; /* *aarch64_gather_load_zero_extendvnx2divnx2hi_uxtw */

        case 72:
          if (!
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 5023; /* *aarch64_gather_load_zero_extendvnx2divnx2si_uxtw */

        case 73:
          if (!
#line 1820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5033; /* aarch64_ldff1_gather_zero_extendvnx4sivnx4qi */

        case 74:
          if (!
#line 1820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5035; /* aarch64_ldff1_gather_zero_extendvnx4sivnx4hi */

        case 75:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5037; /* aarch64_ldff1_gather_zero_extendvnx2divnx2qi */

        case 76:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5039; /* aarch64_ldff1_gather_zero_extendvnx2divnx2hi */

        case 77:
          if (!
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5041; /* aarch64_ldff1_gather_zero_extendvnx2divnx2si */

        case 78:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5043; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2qi_sxtw */

        case 79:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5045; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2hi_sxtw */

        case 80:
          if (!
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5047; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2si_sxtw */

        case 81:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5049; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2qi_uxtw */

        case 82:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5051; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2hi_uxtw */

        case 83:
          if (!
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5053; /* *aarch64_ldff1_gather_zero_extendvnx2divnx2si_uxtw */

        case 84:
          if (!
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x41) == 0))
            return -1;
          return 9224; /* aarch64_gather_ldnt_zero_extendvnx4sivnx4qi */

        case 85:
          if (!
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x42) == 0))
            return -1;
          return 9228; /* aarch64_gather_ldnt_zero_extendvnx4sivnx4hi */

        case 86:
          if (!
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x21) == 0))
            return -1;
          return 9226; /* aarch64_gather_ldnt_zero_extendvnx2divnx2qi */

        case 87:
          if (!
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x22) == 0))
            return -1;
          return 9230; /* aarch64_gather_ldnt_zero_extendvnx2divnx2hi */

        case 88:
          if (!
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x24) == 0))
            return -1;
          return 9232; /* aarch64_gather_ldnt_zero_extendvnx2divnx2si */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
      switch (pattern432 (x2))
        {
        case 0:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 5612; /* *zero_extendvnx8qivnx8hi2 */

        case 1:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
            return -1;
          return 5614; /* *zero_extendvnx4qivnx4hi2 */

        case 2:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
            return -1;
          return 5616; /* *zero_extendvnx2qivnx2hi2 */

        case 3:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
            return -1;
          return 5618; /* *zero_extendvnx4qivnx4si2 */

        case 4:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 5620; /* *zero_extendvnx4hivnx4si2 */

        case 5:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
            return -1;
          return 5622; /* *zero_extendvnx2qivnx2si2 */

        case 6:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
            return -1;
          return 5624; /* *zero_extendvnx2hivnx2si2 */

        case 7:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
            return -1;
          return 5626; /* *zero_extendvnx2qivnx2di2 */

        case 8:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
            return -1;
          return 5628; /* *zero_extendvnx2hivnx2di2 */

        case 9:
          if (!
#line 3109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 5630; /* *zero_extendvnx2sivnx2di2 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_64 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  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 67:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern599 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                  || !
#line 3031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 8 >= 8))
                return -1;
              return 5574; /* aarch64_pred_rbitvnx16qi */

            case E_VNx8HImode:
              if (pattern599 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 3031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 8))
                return -1;
              return 5575; /* aarch64_pred_rbitvnx8hi */

            case E_VNx4SImode:
              if (pattern599 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 8))
                return -1;
              return 5577; /* aarch64_pred_rbitvnx4si */

            case E_VNx2DImode:
              if (pattern599 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 8))
                return -1;
              return 5580; /* aarch64_pred_rbitvnx2di */

            default:
              return -1;
            }

        case 302:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern599 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 3031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return -1;
              return 5576; /* aarch64_pred_revbvnx8hi */

            case E_VNx4SImode:
              if (pattern599 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return -1;
              return 5578; /* aarch64_pred_revbvnx4si */

            case E_VNx2DImode:
              if (pattern599 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return -1;
              return 5581; /* aarch64_pred_revbvnx2di */

            default:
              return -1;
            }

        case 303:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx4SImode:
              if (pattern599 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return -1;
              return 5579; /* aarch64_pred_revhvnx4si */

            case E_VNx2DImode:
              if (pattern599 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return -1;
              return 5582; /* aarch64_pred_revhvnx2di */

            default:
              return -1;
            }

        case 304:
          if (pattern590 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 3031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
            return -1;
          return 5583; /* aarch64_pred_revwvnx2di */

        case 305:
          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 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 > 8))
                    return -1;
                  return 5584; /* aarch64_sve_revbhw_vnx16qivnx8bi */

                case E_VNx4BImode:
                  if (!register_operand (operands[1], E_VNx4BImode)
                      || !
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 8))
                    return -1;
                  return 5585; /* aarch64_sve_revbhw_vnx16qivnx4bi */

                case E_VNx2BImode:
                  if (!register_operand (operands[1], E_VNx2BImode)
                      || !
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 8))
                    return -1;
                  return 5590; /* aarch64_sve_revbhw_vnx16qivnx2bi */

                default:
                  return -1;
                }

            case E_VNx8QImode:
              switch (pattern645 (x2, E_VNx8QImode))
                {
                case 0:
                  if (!
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                    return -1;
                  return 5586; /* aarch64_sve_revbhw_vnx8qivnx4bi */

                case 1:
                  if (!
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                    return -1;
                  return 5591; /* aarch64_sve_revbhw_vnx8qivnx2bi */

                default:
                  return -1;
                }

            case E_VNx8HImode:
              switch (pattern645 (x2, E_VNx8HImode))
                {
                case 0:
                  if (!
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                    return -1;
                  return 5587; /* aarch64_sve_revbhw_vnx8hivnx4bi */

                case 1:
                  if (!
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                    return -1;
                  return 5593; /* aarch64_sve_revbhw_vnx8hivnx2bi */

                default:
                  return -1;
                }

            case E_VNx8HFmode:
              switch (pattern645 (x2, E_VNx8HFmode))
                {
                case 0:
                  if (!
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                    return -1;
                  return 5588; /* aarch64_sve_revbhw_vnx8hfvnx4bi */

                case 1:
                  if (!
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                    return -1;
                  return 5595; /* aarch64_sve_revbhw_vnx8hfvnx2bi */

                default:
                  return -1;
                }

            case E_VNx8BFmode:
              switch (pattern645 (x2, E_VNx8BFmode))
                {
                case 0:
                  if (!
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                    return -1;
                  return 5589; /* aarch64_sve_revbhw_vnx8bfvnx4bi */

                case 1:
                  if (!
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                    return -1;
                  return 5597; /* aarch64_sve_revbhw_vnx8bfvnx2bi */

                default:
                  return -1;
                }

            case E_VNx4QImode:
              if (pattern599 (x2, E_VNx4QImode, E_VNx2BImode) != 0
                  || !
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5592; /* aarch64_sve_revbhw_vnx4qivnx2bi */

            case E_VNx4HImode:
              if (pattern599 (x2, E_VNx4HImode, E_VNx2BImode) != 0
                  || !
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5594; /* aarch64_sve_revbhw_vnx4hivnx2bi */

            case E_VNx4HFmode:
              if (pattern599 (x2, E_VNx4HFmode, E_VNx2BImode) != 0
                  || !
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5596; /* aarch64_sve_revbhw_vnx4hfvnx2bi */

            case E_VNx4BFmode:
              if (pattern599 (x2, E_VNx4BFmode, E_VNx2BImode) != 0
                  || !
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5598; /* aarch64_sve_revbhw_vnx4bfvnx2bi */

            case E_VNx4SImode:
              if (pattern599 (x2, E_VNx4SImode, E_VNx2BImode) != 0
                  || !
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5599; /* aarch64_sve_revbhw_vnx4sivnx2bi */

            case E_VNx4SFmode:
              if (pattern599 (x2, E_VNx4SFmode, E_VNx2BImode) != 0
                  || !
#line 3050 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 5600; /* aarch64_sve_revbhw_vnx4sfvnx2bi */

            default:
              return -1;
            }

        case 22:
          if (pattern590 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10036; /* aarch64_pred_urecpevnx4si */

        case 105:
          if (pattern590 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10037; /* aarch64_pred_ursqrtevnx4si */

        default:
          return -1;
        }

    case 2:
      return recog_61 (x1, insn, pnum_clobbers);

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern322 (x2))
    {
    case 0:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16QImode)
       || register_operand (operands[2], VNx16QImode))))
        return -1;
      return 4614; /* aarch64_pred_movvnx16qi */

    case 1:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8QImode)
       || register_operand (operands[2], VNx8QImode))))
        return -1;
      return 4615; /* aarch64_pred_movvnx8qi */

    case 2:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4QImode)
       || register_operand (operands[2], VNx4QImode))))
        return -1;
      return 4616; /* aarch64_pred_movvnx4qi */

    case 3:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2QImode)
       || register_operand (operands[2], VNx2QImode))))
        return -1;
      return 4617; /* aarch64_pred_movvnx2qi */

    case 4:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8HImode)
       || register_operand (operands[2], VNx8HImode))))
        return -1;
      return 4618; /* aarch64_pred_movvnx8hi */

    case 5:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4HImode)
       || register_operand (operands[2], VNx4HImode))))
        return -1;
      return 4619; /* aarch64_pred_movvnx4hi */

    case 6:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2HImode)
       || register_operand (operands[2], VNx2HImode))))
        return -1;
      return 4620; /* aarch64_pred_movvnx2hi */

    case 7:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8HFmode)
       || register_operand (operands[2], VNx8HFmode))))
        return -1;
      return 4621; /* aarch64_pred_movvnx8hf */

    case 8:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4HFmode)
       || register_operand (operands[2], VNx4HFmode))))
        return -1;
      return 4622; /* aarch64_pred_movvnx4hf */

    case 9:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2HFmode)
       || register_operand (operands[2], VNx2HFmode))))
        return -1;
      return 4623; /* aarch64_pred_movvnx2hf */

    case 10:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8BFmode)
       || register_operand (operands[2], VNx8BFmode))))
        return -1;
      return 4624; /* aarch64_pred_movvnx8bf */

    case 11:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4BFmode)
       || register_operand (operands[2], VNx4BFmode))))
        return -1;
      return 4625; /* aarch64_pred_movvnx4bf */

    case 12:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2BFmode)
       || register_operand (operands[2], VNx2BFmode))))
        return -1;
      return 4626; /* aarch64_pred_movvnx2bf */

    case 13:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4SImode)
       || register_operand (operands[2], VNx4SImode))))
        return -1;
      return 4627; /* aarch64_pred_movvnx4si */

    case 14:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2SImode)
       || register_operand (operands[2], VNx2SImode))))
        return -1;
      return 4628; /* aarch64_pred_movvnx2si */

    case 15:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4SFmode)
       || register_operand (operands[2], VNx4SFmode))))
        return -1;
      return 4629; /* aarch64_pred_movvnx4sf */

    case 16:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2SFmode)
       || register_operand (operands[2], VNx2SFmode))))
        return -1;
      return 4630; /* aarch64_pred_movvnx2sf */

    case 17:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2DImode)
       || register_operand (operands[2], VNx2DImode))))
        return -1;
      return 4631; /* aarch64_pred_movvnx2di */

    case 18:
      if (!
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2DFmode)
       || register_operand (operands[2], VNx2DFmode))))
        return -1;
      return 4632; /* aarch64_pred_movvnx2df */

    case 19:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32QImode)
       || register_operand (operands[2], VNx32QImode))))
        return -1;
      return 4719; /* aarch64_pred_movvnx32qi */

    case 20:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16HImode)
       || register_operand (operands[2], VNx16HImode))))
        return -1;
      return 4720; /* aarch64_pred_movvnx16hi */

    case 21:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8SImode)
       || register_operand (operands[2], VNx8SImode))))
        return -1;
      return 4721; /* aarch64_pred_movvnx8si */

    case 22:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4DImode)
       || register_operand (operands[2], VNx4DImode))))
        return -1;
      return 4722; /* aarch64_pred_movvnx4di */

    case 23:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16BFmode)
       || register_operand (operands[2], VNx16BFmode))))
        return -1;
      return 4723; /* aarch64_pred_movvnx16bf */

    case 24:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16HFmode)
       || register_operand (operands[2], VNx16HFmode))))
        return -1;
      return 4724; /* aarch64_pred_movvnx16hf */

    case 25:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8SFmode)
       || register_operand (operands[2], VNx8SFmode))))
        return -1;
      return 4725; /* aarch64_pred_movvnx8sf */

    case 26:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4DFmode)
       || register_operand (operands[2], VNx4DFmode))))
        return -1;
      return 4726; /* aarch64_pred_movvnx4df */

    case 27:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx48QImode)
       || register_operand (operands[2], VNx48QImode))))
        return -1;
      return 4727; /* aarch64_pred_movvnx48qi */

    case 28:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24HImode)
       || register_operand (operands[2], VNx24HImode))))
        return -1;
      return 4728; /* aarch64_pred_movvnx24hi */

    case 29:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx12SImode)
       || register_operand (operands[2], VNx12SImode))))
        return -1;
      return 4729; /* aarch64_pred_movvnx12si */

    case 30:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx6DImode)
       || register_operand (operands[2], VNx6DImode))))
        return -1;
      return 4730; /* aarch64_pred_movvnx6di */

    case 31:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24BFmode)
       || register_operand (operands[2], VNx24BFmode))))
        return -1;
      return 4731; /* aarch64_pred_movvnx24bf */

    case 32:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24HFmode)
       || register_operand (operands[2], VNx24HFmode))))
        return -1;
      return 4732; /* aarch64_pred_movvnx24hf */

    case 33:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx12SFmode)
       || register_operand (operands[2], VNx12SFmode))))
        return -1;
      return 4733; /* aarch64_pred_movvnx12sf */

    case 34:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx6DFmode)
       || register_operand (operands[2], VNx6DFmode))))
        return -1;
      return 4734; /* aarch64_pred_movvnx6df */

    case 35:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx64QImode)
       || register_operand (operands[2], VNx64QImode))))
        return -1;
      return 4735; /* aarch64_pred_movvnx64qi */

    case 36:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32HImode)
       || register_operand (operands[2], VNx32HImode))))
        return -1;
      return 4736; /* aarch64_pred_movvnx32hi */

    case 37:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16SImode)
       || register_operand (operands[2], VNx16SImode))))
        return -1;
      return 4737; /* aarch64_pred_movvnx16si */

    case 38:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8DImode)
       || register_operand (operands[2], VNx8DImode))))
        return -1;
      return 4738; /* aarch64_pred_movvnx8di */

    case 39:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32BFmode)
       || register_operand (operands[2], VNx32BFmode))))
        return -1;
      return 4739; /* aarch64_pred_movvnx32bf */

    case 40:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32HFmode)
       || register_operand (operands[2], VNx32HFmode))))
        return -1;
      return 4740; /* aarch64_pred_movvnx32hf */

    case 41:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16SFmode)
       || register_operand (operands[2], VNx16SFmode))))
        return -1;
      return 4741; /* aarch64_pred_movvnx16sf */

    case 42:
      if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8DFmode)
       || register_operand (operands[2], VNx8DFmode))))
        return -1;
      return 4742; /* aarch64_pred_movvnx8df */

    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, 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 (pattern323 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5336; /* aarch64_pred_one_cmplvnx16qi */

        case E_VNx8QImode:
          if (pattern323 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5344; /* aarch64_pred_one_cmplvnx8qi */

        case E_VNx4QImode:
          if (pattern323 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5352; /* aarch64_pred_one_cmplvnx4qi */

        case E_VNx2QImode:
          if (pattern323 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5360; /* aarch64_pred_one_cmplvnx2qi */

        case E_VNx8HImode:
          if (pattern323 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5368; /* aarch64_pred_one_cmplvnx8hi */

        case E_VNx4HImode:
          if (pattern323 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5376; /* aarch64_pred_one_cmplvnx4hi */

        case E_VNx2HImode:
          if (pattern323 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5384; /* aarch64_pred_one_cmplvnx2hi */

        case E_VNx4SImode:
          if (pattern323 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5392; /* aarch64_pred_one_cmplvnx4si */

        case E_VNx2SImode:
          if (pattern323 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5400; /* aarch64_pred_one_cmplvnx2si */

        case E_VNx2DImode:
          if (pattern323 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5408; /* aarch64_pred_one_cmplvnx2di */

        default:
          return -1;
        }

    case XOR:
      switch (pattern434 (x2))
        {
        case 0:
          x6 = XEXP (x4, 1);
          if (rtx_equal_p (x6, operands[1])
              && 
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return 9543; /* *aarch64_sve2_nbslvnx16qi */
          if (!rtx_equal_p (x6, operands[2])
              || !
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9544; /* *aarch64_sve2_nbslvnx16qi */

        case 1:
          x6 = XEXP (x4, 1);
          if (rtx_equal_p (x6, operands[1])
              && 
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return 9545; /* *aarch64_sve2_nbslvnx8hi */
          if (!rtx_equal_p (x6, operands[2])
              || !
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9546; /* *aarch64_sve2_nbslvnx8hi */

        case 2:
          x6 = XEXP (x4, 1);
          if (rtx_equal_p (x6, operands[1])
              && 
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return 9547; /* *aarch64_sve2_nbslvnx4si */
          if (!rtx_equal_p (x6, operands[2])
              || !
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9548; /* *aarch64_sve2_nbslvnx4si */

        case 3:
          x6 = XEXP (x4, 1);
          if (rtx_equal_p (x6, operands[1])
              && 
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return 9549; /* *aarch64_sve2_nbslvnx2di */
          if (!rtx_equal_p (x6, operands[2])
              || !
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9550; /* *aarch64_sve2_nbslvnx2di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_67 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  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_65 (x1, insn, pnum_clobbers);

    case SIGN_EXTEND:
      return recog_62 (x1, insn, pnum_clobbers);

    case ZERO_EXTEND:
      return recog_63 (x1, insn, pnum_clobbers);

    case ABS:
      switch (pattern324 (x3))
        {
        case 0:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5334; /* aarch64_pred_absvnx16qi */

        case 1:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5342; /* aarch64_pred_absvnx8qi */

        case 2:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5350; /* aarch64_pred_absvnx4qi */

        case 3:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5358; /* aarch64_pred_absvnx2qi */

        case 4:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5366; /* aarch64_pred_absvnx8hi */

        case 5:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5374; /* aarch64_pred_absvnx4hi */

        case 6:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5382; /* aarch64_pred_absvnx2hi */

        case 7:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5390; /* aarch64_pred_absvnx4si */

        case 8:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5398; /* aarch64_pred_absvnx2si */

        case 9:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5406; /* aarch64_pred_absvnx2di */

        default:
          return -1;
        }

    case NEG:
      switch (pattern324 (x3))
        {
        case 0:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5335; /* aarch64_pred_negvnx16qi */

        case 1:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5343; /* aarch64_pred_negvnx8qi */

        case 2:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5351; /* aarch64_pred_negvnx4qi */

        case 3:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5359; /* aarch64_pred_negvnx2qi */

        case 4:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5367; /* aarch64_pred_negvnx8hi */

        case 5:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5375; /* aarch64_pred_negvnx4hi */

        case 6:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5383; /* aarch64_pred_negvnx2hi */

        case 7:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5391; /* aarch64_pred_negvnx4si */

        case 8:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5399; /* aarch64_pred_negvnx2si */

        case 9:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5407; /* aarch64_pred_negvnx2di */

        default:
          return -1;
        }

    case NOT:
      return recog_66 (x1, insn, pnum_clobbers);

    case CLRSB:
      switch (pattern324 (x3))
        {
        case 0:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5337; /* aarch64_pred_clrsbvnx16qi */

        case 1:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5345; /* aarch64_pred_clrsbvnx8qi */

        case 2:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5353; /* aarch64_pred_clrsbvnx4qi */

        case 3:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5361; /* aarch64_pred_clrsbvnx2qi */

        case 4:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5369; /* aarch64_pred_clrsbvnx8hi */

        case 5:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5377; /* aarch64_pred_clrsbvnx4hi */

        case 6:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5385; /* aarch64_pred_clrsbvnx2hi */

        case 7:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5393; /* aarch64_pred_clrsbvnx4si */

        case 8:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5401; /* aarch64_pred_clrsbvnx2si */

        case 9:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5409; /* aarch64_pred_clrsbvnx2di */

        default:
          return -1;
        }

    case CLZ:
      switch (pattern324 (x3))
        {
        case 0:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5338; /* aarch64_pred_clzvnx16qi */

        case 1:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5346; /* aarch64_pred_clzvnx8qi */

        case 2:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5354; /* aarch64_pred_clzvnx4qi */

        case 3:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5362; /* aarch64_pred_clzvnx2qi */

        case 4:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5370; /* aarch64_pred_clzvnx8hi */

        case 5:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5378; /* aarch64_pred_clzvnx4hi */

        case 6:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5386; /* aarch64_pred_clzvnx2hi */

        case 7:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5394; /* aarch64_pred_clzvnx4si */

        case 8:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5402; /* aarch64_pred_clzvnx2si */

        case 9:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5410; /* aarch64_pred_clzvnx2di */

        default:
          return -1;
        }

    case POPCOUNT:
      switch (pattern324 (x3))
        {
        case 0:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5339; /* aarch64_pred_popcountvnx16qi */

        case 1:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5347; /* aarch64_pred_popcountvnx8qi */

        case 2:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5355; /* aarch64_pred_popcountvnx4qi */

        case 3:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5363; /* aarch64_pred_popcountvnx2qi */

        case 4:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5371; /* aarch64_pred_popcountvnx8hi */

        case 5:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5379; /* aarch64_pred_popcountvnx4hi */

        case 6:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5387; /* aarch64_pred_popcountvnx2hi */

        case 7:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5395; /* aarch64_pred_popcountvnx4si */

        case 8:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5403; /* aarch64_pred_popcountvnx2si */

        case 9:
          if (!
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5411; /* aarch64_pred_popcountvnx2di */

        default:
          return -1;
        }

    case SS_ABS:
      switch (pattern324 (x3))
        {
        case 0:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5340; /* aarch64_pred_qabsvnx16qi */

        case 1:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5348; /* aarch64_pred_qabsvnx8qi */

        case 2:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5356; /* aarch64_pred_qabsvnx4qi */

        case 3:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5364; /* aarch64_pred_qabsvnx2qi */

        case 4:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5372; /* aarch64_pred_qabsvnx8hi */

        case 5:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5380; /* aarch64_pred_qabsvnx4hi */

        case 6:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5388; /* aarch64_pred_qabsvnx2hi */

        case 7:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5396; /* aarch64_pred_qabsvnx4si */

        case 8:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5404; /* aarch64_pred_qabsvnx2si */

        case 9:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5412; /* aarch64_pred_qabsvnx2di */

        default:
          return -1;
        }

    case SS_NEG:
      switch (pattern324 (x3))
        {
        case 0:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5341; /* aarch64_pred_qnegvnx16qi */

        case 1:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5349; /* aarch64_pred_qnegvnx8qi */

        case 2:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5357; /* aarch64_pred_qnegvnx4qi */

        case 3:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5365; /* aarch64_pred_qnegvnx2qi */

        case 4:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5373; /* aarch64_pred_qnegvnx8hi */

        case 5:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5381; /* aarch64_pred_qnegvnx4hi */

        case 6:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5389; /* aarch64_pred_qnegvnx2hi */

        case 7:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5397; /* aarch64_pred_qnegvnx4si */

        case 8:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5405; /* aarch64_pred_qnegvnx2si */

        case 9:
          if (!(
#line 2954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 5413; /* aarch64_pred_qnegvnx2di */

        default:
          return -1;
        }

    case UNSPEC:
      return recog_64 (x1, insn, pnum_clobbers);

    case MULT:
      switch (pattern326 (x3))
        {
        case 0:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5881; /* aarch64_pred_mulvnx16qi */

        case 1:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5886; /* aarch64_pred_mulvnx8qi */

        case 2:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5891; /* aarch64_pred_mulvnx4qi */

        case 3:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5896; /* aarch64_pred_mulvnx2qi */

        case 4:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5901; /* aarch64_pred_mulvnx8hi */

        case 5:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5906; /* aarch64_pred_mulvnx4hi */

        case 6:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5911; /* aarch64_pred_mulvnx2hi */

        case 7:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5916; /* aarch64_pred_mulvnx4si */

        case 8:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5921; /* aarch64_pred_mulvnx2si */

        case 9:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5926; /* aarch64_pred_mulvnx2di */

        default:
          return -1;
        }

    case SMAX:
      switch (pattern326 (x3))
        {
        case 0:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5882; /* aarch64_pred_smaxvnx16qi */

        case 1:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5887; /* aarch64_pred_smaxvnx8qi */

        case 2:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5892; /* aarch64_pred_smaxvnx4qi */

        case 3:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5897; /* aarch64_pred_smaxvnx2qi */

        case 4:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5902; /* aarch64_pred_smaxvnx8hi */

        case 5:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5907; /* aarch64_pred_smaxvnx4hi */

        case 6:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5912; /* aarch64_pred_smaxvnx2hi */

        case 7:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5917; /* aarch64_pred_smaxvnx4si */

        case 8:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5922; /* aarch64_pred_smaxvnx2si */

        case 9:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5927; /* aarch64_pred_smaxvnx2di */

        default:
          return -1;
        }

    case SMIN:
      switch (pattern326 (x3))
        {
        case 0:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5883; /* aarch64_pred_sminvnx16qi */

        case 1:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5888; /* aarch64_pred_sminvnx8qi */

        case 2:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5893; /* aarch64_pred_sminvnx4qi */

        case 3:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5898; /* aarch64_pred_sminvnx2qi */

        case 4:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5903; /* aarch64_pred_sminvnx8hi */

        case 5:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5908; /* aarch64_pred_sminvnx4hi */

        case 6:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5913; /* aarch64_pred_sminvnx2hi */

        case 7:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5918; /* aarch64_pred_sminvnx4si */

        case 8:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5923; /* aarch64_pred_sminvnx2si */

        case 9:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5928; /* aarch64_pred_sminvnx2di */

        default:
          return -1;
        }

    case UMAX:
      switch (pattern328 (x3))
        {
        case 0:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5884; /* aarch64_pred_umaxvnx16qi */

        case 1:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5889; /* aarch64_pred_umaxvnx8qi */

        case 2:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5894; /* aarch64_pred_umaxvnx4qi */

        case 3:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5899; /* aarch64_pred_umaxvnx2qi */

        case 4:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5904; /* aarch64_pred_umaxvnx8hi */

        case 5:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5909; /* aarch64_pred_umaxvnx4hi */

        case 6:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5914; /* aarch64_pred_umaxvnx2hi */

        case 7:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5919; /* aarch64_pred_umaxvnx4si */

        case 8:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5924; /* aarch64_pred_umaxvnx2si */

        case 9:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5929; /* aarch64_pred_umaxvnx2di */

        default:
          return -1;
        }

    case UMIN:
      switch (pattern328 (x3))
        {
        case 0:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5885; /* aarch64_pred_uminvnx16qi */

        case 1:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5890; /* aarch64_pred_uminvnx8qi */

        case 2:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5895; /* aarch64_pred_uminvnx4qi */

        case 3:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5900; /* aarch64_pred_uminvnx2qi */

        case 4:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5905; /* aarch64_pred_uminvnx8hi */

        case 5:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5910; /* aarch64_pred_uminvnx4hi */

        case 6:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5915; /* aarch64_pred_uminvnx2hi */

        case 7:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5920; /* aarch64_pred_uminvnx4si */

        case 8:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5925; /* aarch64_pred_uminvnx2si */

        case 9:
          if (!
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5930; /* aarch64_pred_uminvnx2di */

        default:
          return -1;
        }

    case DIV:
      switch (pattern330 (x3))
        {
        case 0:
          if (!
#line 4333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6657; /* aarch64_pred_divvnx4si */

        case 1:
          if (!
#line 4333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6659; /* aarch64_pred_divvnx2di */

        default:
          return -1;
        }

    case UDIV:
      switch (pattern330 (x3))
        {
        case 0:
          if (!
#line 4333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6658; /* aarch64_pred_udivvnx4si */

        case 1:
          if (!
#line 4333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6660; /* aarch64_pred_udivvnx2di */

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern332 (x3))
        {
        case 0:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6733; /* aarch64_pred_ashlvnx16qi */

        case 1:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6736; /* aarch64_pred_ashlvnx8qi */

        case 2:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6739; /* aarch64_pred_ashlvnx4qi */

        case 3:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6742; /* aarch64_pred_ashlvnx2qi */

        case 4:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6745; /* aarch64_pred_ashlvnx8hi */

        case 5:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6748; /* aarch64_pred_ashlvnx4hi */

        case 6:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6751; /* aarch64_pred_ashlvnx2hi */

        case 7:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6754; /* aarch64_pred_ashlvnx4si */

        case 8:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6757; /* aarch64_pred_ashlvnx2si */

        case 9:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6760; /* aarch64_pred_ashlvnx2di */

        default:
          return -1;
        }

    case ASHIFTRT:
      x5 = XVECEXP (x3, 0, 0);
      operands[1] = x5;
      switch (pattern436 (x3))
        {
        case 0:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6734; /* aarch64_pred_ashrvnx16qi */

        case 1:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6737; /* aarch64_pred_ashrvnx8qi */

        case 2:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6740; /* aarch64_pred_ashrvnx4qi */

        case 3:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6743; /* aarch64_pred_ashrvnx2qi */

        case 4:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6746; /* aarch64_pred_ashrvnx8hi */

        case 5:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6749; /* aarch64_pred_ashrvnx4hi */

        case 6:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6752; /* aarch64_pred_ashrvnx2hi */

        case 7:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6755; /* aarch64_pred_ashrvnx4si */

        case 8:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6758; /* aarch64_pred_ashrvnx2si */

        case 9:
          if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6761; /* aarch64_pred_ashrvnx2di */

        default:
          return -1;
        }

    case LSHIFTRT:
      x5 = XVECEXP (x3, 0, 0);
      operands[1] = x5;
      x6 = XEXP (x4, 0);
      switch (GET_CODE (x6))
        {
        case REG:
        case SUBREG:
          switch (pattern436 (x3))
            {
            case 0:
              if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6735; /* aarch64_pred_lshrvnx16qi */

            case 1:
              if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6738; /* aarch64_pred_lshrvnx8qi */

            case 2:
              if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6741; /* aarch64_pred_lshrvnx4qi */

            case 3:
              if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6744; /* aarch64_pred_lshrvnx2qi */

            case 4:
              if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6747; /* aarch64_pred_lshrvnx8hi */

            case 5:
              if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6750; /* aarch64_pred_lshrvnx4hi */

            case 6:
              if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6753; /* aarch64_pred_lshrvnx2hi */

            case 7:
              if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6756; /* aarch64_pred_lshrvnx4si */

            case 8:
              if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6759; /* aarch64_pred_lshrvnx2si */

            case 9:
              if (!
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6762; /* aarch64_pred_lshrvnx2di */

            default:
              return -1;
            }

        case PLUS:
          x7 = XEXP (x6, 0);
          operands[2] = x7;
          x8 = XEXP (x6, 1);
          operands[3] = x8;
          x9 = XEXP (x4, 1);
          operands[4] = x9;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern693 (x3, E_VNx8HImode) != 0
                  || !
#line 1614 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9846; /* *bitmask_shift_plusvnx8hi */

            case E_VNx4SImode:
              if (pattern693 (x3, E_VNx4SImode) != 0
                  || !
#line 1614 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9847; /* *bitmask_shift_plusvnx4si */

            case E_VNx2DImode:
              if (pattern693 (x3, E_VNx2DImode) != 0
                  || !
#line 1614 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9848; /* *bitmask_shift_plusvnx2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case AND:
      switch (pattern334 (x3))
        {
        case 0:
          if (!
#line 856 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9527; /* *aarch64_sve2_norvnx16qi */

        case 1:
          if (!
#line 856 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9528; /* *aarch64_sve2_norvnx8hi */

        case 2:
          if (!
#line 856 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9529; /* *aarch64_sve2_norvnx4si */

        case 3:
          if (!
#line 856 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9530; /* *aarch64_sve2_norvnx2di */

        default:
          return -1;
        }

    case IOR:
      switch (pattern334 (x3))
        {
        case 0:
          if (!
#line 878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9531; /* *aarch64_sve2_nandvnx16qi */

        case 1:
          if (!
#line 878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9532; /* *aarch64_sve2_nandvnx8hi */

        case 2:
          if (!
#line 878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9533; /* *aarch64_sve2_nandvnx4si */

        case 3:
          if (!
#line 878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9534; /* *aarch64_sve2_nandvnx2di */

        default:
          return -1;
        }

    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, 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 (pattern66 (x3, E_V4HFmode) != 0
              || !(
#line 4952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2830; /* aarch64_fmulxv4hf */

        case E_V8HFmode:
          if (pattern66 (x3, E_V8HFmode) != 0
              || !(
#line 4952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2831; /* aarch64_fmulxv8hf */

        case E_V2SFmode:
          if (pattern66 (x3, E_V2SFmode) != 0
              || !
#line 4952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2832; /* aarch64_fmulxv2sf */

        case E_V4SFmode:
          if (pattern66 (x3, E_V4SFmode) != 0
              || !
#line 4952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2833; /* aarch64_fmulxv4sf */

        case E_V2DFmode:
          if (pattern66 (x3, E_V2DFmode) != 0
              || !
#line 4952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2834; /* aarch64_fmulxv2df */

        case E_HFmode:
          if (pattern66 (x3, E_HFmode) != 0
              || !(
#line 4952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2835; /* aarch64_fmulxhf */

        case E_SFmode:
          if (pattern66 (x3, E_SFmode) != 0
              || !
#line 4952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2836; /* aarch64_fmulxsf */

        case E_DFmode:
          if (pattern66 (x3, E_DFmode) != 0
              || !
#line 4952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2837; /* 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 (pattern771 (x3, E_V2SFmode) != 0)
                return -1;
              switch (GET_MODE (operands[2]))
                {
                case E_V4SFmode:
                  if (!register_operand (operands[2], E_V4SFmode)
                      || !
#line 4968 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2838; /* *aarch64_mulx_elt_to_128v2sf */

                case E_V2SFmode:
                  if (!register_operand (operands[2], E_V2SFmode)
                      || !
#line 4987 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2840; /* *aarch64_mulx_eltv2sf */

                default:
                  return -1;
                }

            case E_V4SFmode:
              if (pattern771 (x3, E_V4SFmode) != 0)
                return -1;
              switch (GET_MODE (operands[2]))
                {
                case E_V2SFmode:
                  if (!register_operand (operands[2], E_V2SFmode)
                      || !
#line 4968 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2839; /* *aarch64_mulx_elt_to_64v4sf */

                case E_V4SFmode:
                  if (!register_operand (operands[2], E_V4SFmode)
                      || !
#line 4987 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2841; /* *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 4987 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2842; /* *aarch64_mulx_eltv2df */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[2] = x6;
          switch (GET_MODE (operands[0]))
            {
            case E_V4HFmode:
              if (pattern85 (x3, E_HFmode, E_V4HFmode) != 0
                  || !(
#line 5004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2843; /* *aarch64_mulx_elt_from_dupv4hf */

            case E_V8HFmode:
              if (pattern85 (x3, E_HFmode, E_V8HFmode) != 0
                  || !(
#line 5004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2844; /* *aarch64_mulx_elt_from_dupv8hf */

            case E_V2SFmode:
              if (pattern85 (x3, E_SFmode, E_V2SFmode) != 0
                  || !
#line 5004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2845; /* *aarch64_mulx_elt_from_dupv2sf */

            case E_V4SFmode:
              if (pattern85 (x3, E_SFmode, E_V4SFmode) != 0
                  || !
#line 5004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2846; /* *aarch64_mulx_elt_from_dupv4sf */

            case E_V2DFmode:
              if (pattern85 (x3, E_DFmode, E_V2DFmode) != 0
                  || !
#line 5004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2847; /* *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 5021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2848; /* *aarch64_vgetfmulxv2sf */

            case E_V4SFmode:
              if (!register_operand (operands[2], E_V4SFmode)
                  || !
#line 5021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2849; /* *aarch64_vgetfmulxv4sf */

            default:
              return -1;
            }

        case E_DFmode:
          if (pattern85 (x3, E_V2DFmode, E_DFmode) != 0
              || !
#line 5021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2850; /* *aarch64_vgetfmulxv2df */

        default:
          return -1;
        }

    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];
  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 (pattern497 (x3, E_VNx32QImode, E_VNx16BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4784; /* vec_mask_load_lanesvnx32qivnx16qi */

    case E_VNx16HImode:
      if (pattern497 (x3, E_VNx16HImode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4785; /* vec_mask_load_lanesvnx16hivnx8hi */

    case E_VNx8SImode:
      if (pattern497 (x3, E_VNx8SImode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4786; /* vec_mask_load_lanesvnx8sivnx4si */

    case E_VNx4DImode:
      if (pattern497 (x3, E_VNx4DImode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4787; /* vec_mask_load_lanesvnx4divnx2di */

    case E_VNx16BFmode:
      if (pattern497 (x3, E_VNx16BFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4788; /* vec_mask_load_lanesvnx16bfvnx8bf */

    case E_VNx16HFmode:
      if (pattern497 (x3, E_VNx16HFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4789; /* vec_mask_load_lanesvnx16hfvnx8hf */

    case E_VNx8SFmode:
      if (pattern497 (x3, E_VNx8SFmode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4790; /* vec_mask_load_lanesvnx8sfvnx4sf */

    case E_VNx4DFmode:
      if (pattern497 (x3, E_VNx4DFmode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4791; /* vec_mask_load_lanesvnx4dfvnx2df */

    case E_VNx48QImode:
      if (pattern497 (x3, E_VNx48QImode, E_VNx16BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4792; /* vec_mask_load_lanesvnx48qivnx16qi */

    case E_VNx24HImode:
      if (pattern497 (x3, E_VNx24HImode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4793; /* vec_mask_load_lanesvnx24hivnx8hi */

    case E_VNx12SImode:
      if (pattern497 (x3, E_VNx12SImode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4794; /* vec_mask_load_lanesvnx12sivnx4si */

    case E_VNx6DImode:
      if (pattern497 (x3, E_VNx6DImode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4795; /* vec_mask_load_lanesvnx6divnx2di */

    case E_VNx24BFmode:
      if (pattern497 (x3, E_VNx24BFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4796; /* vec_mask_load_lanesvnx24bfvnx8bf */

    case E_VNx24HFmode:
      if (pattern497 (x3, E_VNx24HFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4797; /* vec_mask_load_lanesvnx24hfvnx8hf */

    case E_VNx12SFmode:
      if (pattern497 (x3, E_VNx12SFmode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4798; /* vec_mask_load_lanesvnx12sfvnx4sf */

    case E_VNx6DFmode:
      if (pattern497 (x3, E_VNx6DFmode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4799; /* vec_mask_load_lanesvnx6dfvnx2df */

    case E_VNx64QImode:
      if (pattern497 (x3, E_VNx64QImode, E_VNx16BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4800; /* vec_mask_load_lanesvnx64qivnx16qi */

    case E_VNx32HImode:
      if (pattern497 (x3, E_VNx32HImode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4801; /* vec_mask_load_lanesvnx32hivnx8hi */

    case E_VNx16SImode:
      if (pattern497 (x3, E_VNx16SImode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4802; /* vec_mask_load_lanesvnx16sivnx4si */

    case E_VNx8DImode:
      if (pattern497 (x3, E_VNx8DImode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4803; /* vec_mask_load_lanesvnx8divnx2di */

    case E_VNx32BFmode:
      if (pattern497 (x3, E_VNx32BFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4804; /* vec_mask_load_lanesvnx32bfvnx8bf */

    case E_VNx32HFmode:
      if (pattern497 (x3, E_VNx32HFmode, E_VNx8BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4805; /* vec_mask_load_lanesvnx32hfvnx8hf */

    case E_VNx16SFmode:
      if (pattern497 (x3, E_VNx16SFmode, E_VNx4BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4806; /* vec_mask_load_lanesvnx16sfvnx4sf */

    case E_VNx8DFmode:
      if (pattern497 (x3, E_VNx8DFmode, E_VNx2BImode) != 0
          || !
#line 1273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4807; /* vec_mask_load_lanesvnx8dfvnx2df */

    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];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  switch (pattern207 (x3))
    {
    case 0:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3807; /* aarch64_rev_reglistv2x8qi */

    case 1:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3808; /* aarch64_rev_reglistv2x4hi */

    case 2:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3809; /* aarch64_rev_reglistv2x2si */

    case 3:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3810; /* aarch64_rev_reglistv2x1di */

    case 4:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3811; /* aarch64_rev_reglistv2x4hf */

    case 5:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3812; /* aarch64_rev_reglistv2x2sf */

    case 6:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3813; /* aarch64_rev_reglistv2x1df */

    case 7:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3814; /* aarch64_rev_reglistv2x4bf */

    case 8:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3815; /* aarch64_rev_reglistv3x8qi */

    case 9:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3816; /* aarch64_rev_reglistv3x4hi */

    case 10:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3817; /* aarch64_rev_reglistv3x2si */

    case 11:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3818; /* aarch64_rev_reglistv3x1di */

    case 12:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3819; /* aarch64_rev_reglistv3x4hf */

    case 13:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3820; /* aarch64_rev_reglistv3x2sf */

    case 14:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3821; /* aarch64_rev_reglistv3x1df */

    case 15:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3822; /* aarch64_rev_reglistv3x4bf */

    case 16:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3823; /* aarch64_rev_reglistv4x8qi */

    case 17:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3824; /* aarch64_rev_reglistv4x4hi */

    case 18:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3825; /* aarch64_rev_reglistv4x2si */

    case 19:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3826; /* aarch64_rev_reglistv4x1di */

    case 20:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3827; /* aarch64_rev_reglistv4x4hf */

    case 21:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3828; /* aarch64_rev_reglistv4x2sf */

    case 22:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3829; /* aarch64_rev_reglistv4x1df */

    case 23:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3830; /* aarch64_rev_reglistv4x4bf */

    case 24:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3831; /* aarch64_rev_reglistv2x16qi */

    case 25:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3832; /* aarch64_rev_reglistv2x8hi */

    case 26:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3833; /* aarch64_rev_reglistv2x4si */

    case 27:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3834; /* aarch64_rev_reglistv2x2di */

    case 28:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3835; /* aarch64_rev_reglistv2x8hf */

    case 29:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3836; /* aarch64_rev_reglistv2x4sf */

    case 30:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3837; /* aarch64_rev_reglistv2x2df */

    case 31:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3838; /* aarch64_rev_reglistv2x8bf */

    case 32:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3839; /* aarch64_rev_reglistv3x16qi */

    case 33:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3840; /* aarch64_rev_reglistv3x8hi */

    case 34:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3841; /* aarch64_rev_reglistv3x4si */

    case 35:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3842; /* aarch64_rev_reglistv3x2di */

    case 36:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3843; /* aarch64_rev_reglistv3x8hf */

    case 37:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3844; /* aarch64_rev_reglistv3x4sf */

    case 38:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3845; /* aarch64_rev_reglistv3x2df */

    case 39:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3846; /* aarch64_rev_reglistv3x8bf */

    case 40:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3847; /* aarch64_rev_reglistv4x16qi */

    case 41:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3848; /* aarch64_rev_reglistv4x8hi */

    case 42:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3849; /* aarch64_rev_reglistv4x4si */

    case 43:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3850; /* aarch64_rev_reglistv4x2di */

    case 44:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3851; /* aarch64_rev_reglistv4x8hf */

    case 45:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3852; /* aarch64_rev_reglistv4x4sf */

    case 46:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3853; /* aarch64_rev_reglistv4x2df */

    case 47:
      if (!
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3854; /* aarch64_rev_reglistv4x8bf */

    default:
      return -1;
    }
}

static int
recog_71 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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 (pattern497 (x3, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4765; /* maskloadvnx16qivnx16bi */

    case E_VNx8QImode:
      if (pattern497 (x3, E_VNx8QImode, E_VNx8BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4766; /* maskloadvnx8qivnx8bi */

    case E_VNx4QImode:
      if (pattern497 (x3, E_VNx4QImode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4767; /* maskloadvnx4qivnx4bi */

    case E_VNx2QImode:
      if (pattern497 (x3, E_VNx2QImode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4768; /* maskloadvnx2qivnx2bi */

    case E_VNx8HImode:
      if (pattern497 (x3, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4769; /* maskloadvnx8hivnx8bi */

    case E_VNx4HImode:
      if (pattern497 (x3, E_VNx4HImode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4770; /* maskloadvnx4hivnx4bi */

    case E_VNx2HImode:
      if (pattern497 (x3, E_VNx2HImode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4771; /* maskloadvnx2hivnx2bi */

    case E_VNx8HFmode:
      if (pattern497 (x3, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4772; /* maskloadvnx8hfvnx8bi */

    case E_VNx4HFmode:
      if (pattern497 (x3, E_VNx4HFmode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4773; /* maskloadvnx4hfvnx4bi */

    case E_VNx2HFmode:
      if (pattern497 (x3, E_VNx2HFmode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4774; /* maskloadvnx2hfvnx2bi */

    case E_VNx8BFmode:
      if (pattern497 (x3, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4775; /* maskloadvnx8bfvnx8bi */

    case E_VNx4BFmode:
      if (pattern497 (x3, E_VNx4BFmode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4776; /* maskloadvnx4bfvnx4bi */

    case E_VNx2BFmode:
      if (pattern497 (x3, E_VNx2BFmode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4777; /* maskloadvnx2bfvnx2bi */

    case E_VNx4SImode:
      if (pattern497 (x3, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4778; /* maskloadvnx4sivnx4bi */

    case E_VNx2SImode:
      if (pattern497 (x3, E_VNx2SImode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4779; /* maskloadvnx2sivnx2bi */

    case E_VNx4SFmode:
      if (pattern497 (x3, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4780; /* maskloadvnx4sfvnx4bi */

    case E_VNx2SFmode:
      if (pattern497 (x3, E_VNx2SFmode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4781; /* maskloadvnx2sfvnx2bi */

    case E_VNx2DImode:
      if (pattern497 (x3, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4782; /* maskloadvnx2divnx2bi */

    case E_VNx2DFmode:
      if (pattern497 (x3, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 1249 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4783; /* maskloadvnx2dfvnx2bi */

    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 (pattern104 (x1))
    {
    case 0:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4114; /* aarch64_uzp2v8qi */

    case 1:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4120; /* aarch64_uzp2v16qi */

    case 2:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4126; /* aarch64_uzp2v4hi */

    case 3:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4132; /* aarch64_uzp2v8hi */

    case 4:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4138; /* aarch64_uzp2v2si */

    case 5:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4144; /* aarch64_uzp2v4si */

    case 6:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4150; /* aarch64_uzp2v2di */

    case 7:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4156; /* aarch64_uzp2v4hf */

    case 8:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4162; /* aarch64_uzp2v8hf */

    case 9:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4168; /* aarch64_uzp2v4bf */

    case 10:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4174; /* aarch64_uzp2v8bf */

    case 11:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4180; /* aarch64_uzp2v2sf */

    case 12:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4186; /* aarch64_uzp2v4sf */

    case 13:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4192; /* aarch64_uzp2v2df */

    case 14:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8737; /* aarch64_sve_uzp2vnx16qi */

    case 15:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8743; /* aarch64_sve_uzp2vnx8qi */

    case 16:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8749; /* aarch64_sve_uzp2vnx4qi */

    case 17:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8755; /* aarch64_sve_uzp2vnx2qi */

    case 18:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8761; /* aarch64_sve_uzp2vnx8hi */

    case 19:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8767; /* aarch64_sve_uzp2vnx4hi */

    case 20:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8773; /* aarch64_sve_uzp2vnx2hi */

    case 21:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8779; /* aarch64_sve_uzp2vnx8hf */

    case 22:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8785; /* aarch64_sve_uzp2vnx4hf */

    case 23:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8791; /* aarch64_sve_uzp2vnx2hf */

    case 24:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8797; /* aarch64_sve_uzp2vnx8bf */

    case 25:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8803; /* aarch64_sve_uzp2vnx4bf */

    case 26:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8809; /* aarch64_sve_uzp2vnx2bf */

    case 27:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8815; /* aarch64_sve_uzp2vnx4si */

    case 28:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8821; /* aarch64_sve_uzp2vnx2si */

    case 29:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8827; /* aarch64_sve_uzp2vnx4sf */

    case 30:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8833; /* aarch64_sve_uzp2vnx2sf */

    case 31:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8839; /* aarch64_sve_uzp2vnx2di */

    case 32:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8845; /* aarch64_sve_uzp2vnx2df */

    case 33:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8926; /* aarch64_sve_uzp2vnx16bi */

    case 34:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8932; /* aarch64_sve_uzp2vnx8bi */

    case 35:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8938; /* aarch64_sve_uzp2vnx4bi */

    case 36:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8944; /* aarch64_sve_uzp2vnx2bi */

    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 (pattern104 (x1))
    {
    case 0:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4113; /* aarch64_uzp1v8qi */

    case 1:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4119; /* aarch64_uzp1v16qi */

    case 2:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4125; /* aarch64_uzp1v4hi */

    case 3:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4131; /* aarch64_uzp1v8hi */

    case 4:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4137; /* aarch64_uzp1v2si */

    case 5:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4143; /* aarch64_uzp1v4si */

    case 6:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4149; /* aarch64_uzp1v2di */

    case 7:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4155; /* aarch64_uzp1v4hf */

    case 8:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4161; /* aarch64_uzp1v8hf */

    case 9:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4167; /* aarch64_uzp1v4bf */

    case 10:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4173; /* aarch64_uzp1v8bf */

    case 11:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4179; /* aarch64_uzp1v2sf */

    case 12:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4185; /* aarch64_uzp1v4sf */

    case 13:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4191; /* aarch64_uzp1v2df */

    case 14:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8736; /* aarch64_sve_uzp1vnx16qi */

    case 15:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8742; /* aarch64_sve_uzp1vnx8qi */

    case 16:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8748; /* aarch64_sve_uzp1vnx4qi */

    case 17:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8754; /* aarch64_sve_uzp1vnx2qi */

    case 18:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8760; /* aarch64_sve_uzp1vnx8hi */

    case 19:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8766; /* aarch64_sve_uzp1vnx4hi */

    case 20:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8772; /* aarch64_sve_uzp1vnx2hi */

    case 21:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8778; /* aarch64_sve_uzp1vnx8hf */

    case 22:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8784; /* aarch64_sve_uzp1vnx4hf */

    case 23:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8790; /* aarch64_sve_uzp1vnx2hf */

    case 24:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8796; /* aarch64_sve_uzp1vnx8bf */

    case 25:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8802; /* aarch64_sve_uzp1vnx4bf */

    case 26:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8808; /* aarch64_sve_uzp1vnx2bf */

    case 27:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8814; /* aarch64_sve_uzp1vnx4si */

    case 28:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8820; /* aarch64_sve_uzp1vnx2si */

    case 29:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8826; /* aarch64_sve_uzp1vnx4sf */

    case 30:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8832; /* aarch64_sve_uzp1vnx2sf */

    case 31:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8838; /* aarch64_sve_uzp1vnx2di */

    case 32:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8844; /* aarch64_sve_uzp1vnx2df */

    case 33:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8925; /* aarch64_sve_uzp1vnx16bi */

    case 34:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8931; /* aarch64_sve_uzp1vnx8bi */

    case 35:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8937; /* aarch64_sve_uzp1vnx4bi */

    case 36:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8943; /* aarch64_sve_uzp1vnx2bi */

    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 (pattern104 (x1))
    {
    case 0:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4112; /* aarch64_trn2v8qi */

    case 1:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4118; /* aarch64_trn2v16qi */

    case 2:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4124; /* aarch64_trn2v4hi */

    case 3:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4130; /* aarch64_trn2v8hi */

    case 4:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4136; /* aarch64_trn2v2si */

    case 5:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4142; /* aarch64_trn2v4si */

    case 6:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4148; /* aarch64_trn2v2di */

    case 7:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4154; /* aarch64_trn2v4hf */

    case 8:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4160; /* aarch64_trn2v8hf */

    case 9:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4166; /* aarch64_trn2v4bf */

    case 10:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4172; /* aarch64_trn2v8bf */

    case 11:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4178; /* aarch64_trn2v2sf */

    case 12:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4184; /* aarch64_trn2v4sf */

    case 13:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4190; /* aarch64_trn2v2df */

    case 14:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8735; /* aarch64_sve_trn2vnx16qi */

    case 15:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8741; /* aarch64_sve_trn2vnx8qi */

    case 16:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8747; /* aarch64_sve_trn2vnx4qi */

    case 17:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8753; /* aarch64_sve_trn2vnx2qi */

    case 18:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8759; /* aarch64_sve_trn2vnx8hi */

    case 19:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8765; /* aarch64_sve_trn2vnx4hi */

    case 20:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8771; /* aarch64_sve_trn2vnx2hi */

    case 21:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8777; /* aarch64_sve_trn2vnx8hf */

    case 22:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8783; /* aarch64_sve_trn2vnx4hf */

    case 23:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8789; /* aarch64_sve_trn2vnx2hf */

    case 24:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8795; /* aarch64_sve_trn2vnx8bf */

    case 25:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8801; /* aarch64_sve_trn2vnx4bf */

    case 26:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8807; /* aarch64_sve_trn2vnx2bf */

    case 27:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8813; /* aarch64_sve_trn2vnx4si */

    case 28:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8819; /* aarch64_sve_trn2vnx2si */

    case 29:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8825; /* aarch64_sve_trn2vnx4sf */

    case 30:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8831; /* aarch64_sve_trn2vnx2sf */

    case 31:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8837; /* aarch64_sve_trn2vnx2di */

    case 32:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8843; /* aarch64_sve_trn2vnx2df */

    case 33:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8924; /* aarch64_sve_trn2vnx16bi */

    case 34:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8930; /* aarch64_sve_trn2vnx8bi */

    case 35:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8936; /* aarch64_sve_trn2vnx4bi */

    case 36:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8942; /* aarch64_sve_trn2vnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern104 (x1))
    {
    case 0:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4111; /* aarch64_trn1v8qi */

    case 1:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4117; /* aarch64_trn1v16qi */

    case 2:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4123; /* aarch64_trn1v4hi */

    case 3:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4129; /* aarch64_trn1v8hi */

    case 4:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4135; /* aarch64_trn1v2si */

    case 5:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4141; /* aarch64_trn1v4si */

    case 6:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4147; /* aarch64_trn1v2di */

    case 7:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4153; /* aarch64_trn1v4hf */

    case 8:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4159; /* aarch64_trn1v8hf */

    case 9:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4165; /* aarch64_trn1v4bf */

    case 10:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4171; /* aarch64_trn1v8bf */

    case 11:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4177; /* aarch64_trn1v2sf */

    case 12:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4183; /* aarch64_trn1v4sf */

    case 13:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4189; /* aarch64_trn1v2df */

    case 14:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8734; /* aarch64_sve_trn1vnx16qi */

    case 15:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8740; /* aarch64_sve_trn1vnx8qi */

    case 16:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8746; /* aarch64_sve_trn1vnx4qi */

    case 17:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8752; /* aarch64_sve_trn1vnx2qi */

    case 18:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8758; /* aarch64_sve_trn1vnx8hi */

    case 19:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8764; /* aarch64_sve_trn1vnx4hi */

    case 20:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8770; /* aarch64_sve_trn1vnx2hi */

    case 21:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8776; /* aarch64_sve_trn1vnx8hf */

    case 22:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8782; /* aarch64_sve_trn1vnx4hf */

    case 23:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8788; /* aarch64_sve_trn1vnx2hf */

    case 24:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8794; /* aarch64_sve_trn1vnx8bf */

    case 25:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8800; /* aarch64_sve_trn1vnx4bf */

    case 26:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8806; /* aarch64_sve_trn1vnx2bf */

    case 27:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8812; /* aarch64_sve_trn1vnx4si */

    case 28:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8818; /* aarch64_sve_trn1vnx2si */

    case 29:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8824; /* aarch64_sve_trn1vnx4sf */

    case 30:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8830; /* aarch64_sve_trn1vnx2sf */

    case 31:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8836; /* aarch64_sve_trn1vnx2di */

    case 32:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8842; /* aarch64_sve_trn1vnx2df */

    case 33:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8923; /* aarch64_sve_trn1vnx16bi */

    case 34:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8929; /* aarch64_sve_trn1vnx8bi */

    case 35:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8935; /* aarch64_sve_trn1vnx4bi */

    case 36:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8941; /* aarch64_sve_trn1vnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern104 (x1))
    {
    case 0:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4110; /* aarch64_zip2v8qi */

    case 1:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4116; /* aarch64_zip2v16qi */

    case 2:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4122; /* aarch64_zip2v4hi */

    case 3:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4128; /* aarch64_zip2v8hi */

    case 4:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4134; /* aarch64_zip2v2si */

    case 5:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4140; /* aarch64_zip2v4si */

    case 6:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4146; /* aarch64_zip2v2di */

    case 7:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4152; /* aarch64_zip2v4hf */

    case 8:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4158; /* aarch64_zip2v8hf */

    case 9:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4164; /* aarch64_zip2v4bf */

    case 10:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4170; /* aarch64_zip2v8bf */

    case 11:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4176; /* aarch64_zip2v2sf */

    case 12:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4182; /* aarch64_zip2v4sf */

    case 13:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4188; /* aarch64_zip2v2df */

    case 14:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8733; /* aarch64_sve_zip2vnx16qi */

    case 15:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8739; /* aarch64_sve_zip2vnx8qi */

    case 16:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8745; /* aarch64_sve_zip2vnx4qi */

    case 17:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8751; /* aarch64_sve_zip2vnx2qi */

    case 18:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8757; /* aarch64_sve_zip2vnx8hi */

    case 19:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8763; /* aarch64_sve_zip2vnx4hi */

    case 20:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8769; /* aarch64_sve_zip2vnx2hi */

    case 21:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8775; /* aarch64_sve_zip2vnx8hf */

    case 22:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8781; /* aarch64_sve_zip2vnx4hf */

    case 23:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8787; /* aarch64_sve_zip2vnx2hf */

    case 24:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8793; /* aarch64_sve_zip2vnx8bf */

    case 25:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8799; /* aarch64_sve_zip2vnx4bf */

    case 26:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8805; /* aarch64_sve_zip2vnx2bf */

    case 27:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8811; /* aarch64_sve_zip2vnx4si */

    case 28:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8817; /* aarch64_sve_zip2vnx2si */

    case 29:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8823; /* aarch64_sve_zip2vnx4sf */

    case 30:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8829; /* aarch64_sve_zip2vnx2sf */

    case 31:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8835; /* aarch64_sve_zip2vnx2di */

    case 32:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8841; /* aarch64_sve_zip2vnx2df */

    case 33:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8922; /* aarch64_sve_zip2vnx16bi */

    case 34:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8928; /* aarch64_sve_zip2vnx8bi */

    case 35:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8934; /* aarch64_sve_zip2vnx4bi */

    case 36:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8940; /* aarch64_sve_zip2vnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern104 (x1))
    {
    case 0:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4109; /* aarch64_zip1v8qi */

    case 1:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4115; /* aarch64_zip1v16qi */

    case 2:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4121; /* aarch64_zip1v4hi */

    case 3:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4127; /* aarch64_zip1v8hi */

    case 4:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4133; /* aarch64_zip1v2si */

    case 5:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4139; /* aarch64_zip1v4si */

    case 6:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4145; /* aarch64_zip1v2di */

    case 7:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4151; /* aarch64_zip1v4hf */

    case 8:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4157; /* aarch64_zip1v8hf */

    case 9:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4163; /* aarch64_zip1v4bf */

    case 10:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4169; /* aarch64_zip1v8bf */

    case 11:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4175; /* aarch64_zip1v2sf */

    case 12:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4181; /* aarch64_zip1v4sf */

    case 13:
      if (!
#line 7848 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4187; /* aarch64_zip1v2df */

    case 14:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8732; /* aarch64_sve_zip1vnx16qi */

    case 15:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8738; /* aarch64_sve_zip1vnx8qi */

    case 16:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8744; /* aarch64_sve_zip1vnx4qi */

    case 17:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8750; /* aarch64_sve_zip1vnx2qi */

    case 18:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8756; /* aarch64_sve_zip1vnx8hi */

    case 19:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8762; /* aarch64_sve_zip1vnx4hi */

    case 20:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8768; /* aarch64_sve_zip1vnx2hi */

    case 21:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8774; /* aarch64_sve_zip1vnx8hf */

    case 22:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8780; /* aarch64_sve_zip1vnx4hf */

    case 23:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8786; /* aarch64_sve_zip1vnx2hf */

    case 24:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8792; /* aarch64_sve_zip1vnx8bf */

    case 25:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8798; /* aarch64_sve_zip1vnx4bf */

    case 26:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8804; /* aarch64_sve_zip1vnx2bf */

    case 27:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8810; /* aarch64_sve_zip1vnx4si */

    case 28:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8816; /* aarch64_sve_zip1vnx2si */

    case 29:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8822; /* aarch64_sve_zip1vnx4sf */

    case 30:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8828; /* aarch64_sve_zip1vnx2sf */

    case 31:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8834; /* aarch64_sve_zip1vnx2di */

    case 32:
      if (!
#line 8789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8840; /* aarch64_sve_zip1vnx2df */

    case 33:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8921; /* aarch64_sve_zip1vnx16bi */

    case 34:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8927; /* aarch64_sve_zip1vnx8bi */

    case 35:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8933; /* aarch64_sve_zip1vnx4bi */

    case 36:
      if (!
#line 8881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8939; /* aarch64_sve_zip1vnx2bi */

    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, 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 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3791; /* aarch64_vec_store_lanesv4x8qi_lanev8qi */

    case E_V4x4HImode:
      if (!register_operand (operands[1], E_V4x4HImode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3792; /* aarch64_vec_store_lanesv4x4hi_lanev4hi */

    case E_V4x2SImode:
      if (!register_operand (operands[1], E_V4x2SImode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3793; /* aarch64_vec_store_lanesv4x2si_lanev2si */

    case E_V4x1DImode:
      if (!register_operand (operands[1], E_V4x1DImode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3794; /* aarch64_vec_store_lanesv4x1di_lanedi */

    case E_V4x4HFmode:
      if (!register_operand (operands[1], E_V4x4HFmode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3795; /* aarch64_vec_store_lanesv4x4hf_lanev4hf */

    case E_V4x2SFmode:
      if (!register_operand (operands[1], E_V4x2SFmode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3796; /* aarch64_vec_store_lanesv4x2sf_lanev2sf */

    case E_V4x1DFmode:
      if (!register_operand (operands[1], E_V4x1DFmode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3797; /* aarch64_vec_store_lanesv4x1df_lanedf */

    case E_V4x4BFmode:
      if (!register_operand (operands[1], E_V4x4BFmode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3798; /* aarch64_vec_store_lanesv4x4bf_lanev4bf */

    case E_V4x16QImode:
      if (!register_operand (operands[1], E_V4x16QImode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3799; /* aarch64_vec_store_lanesv4x16qi_lanev16qi */

    case E_V4x8HImode:
      if (!register_operand (operands[1], E_V4x8HImode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3800; /* aarch64_vec_store_lanesv4x8hi_lanev8hi */

    case E_V4x4SImode:
      if (!register_operand (operands[1], E_V4x4SImode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3801; /* aarch64_vec_store_lanesv4x4si_lanev4si */

    case E_V4x2DImode:
      if (!register_operand (operands[1], E_V4x2DImode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3802; /* aarch64_vec_store_lanesv4x2di_lanev2di */

    case E_V4x8HFmode:
      if (!register_operand (operands[1], E_V4x8HFmode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3803; /* aarch64_vec_store_lanesv4x8hf_lanev8hf */

    case E_V4x4SFmode:
      if (!register_operand (operands[1], E_V4x4SFmode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3804; /* aarch64_vec_store_lanesv4x4sf_lanev4sf */

    case E_V4x2DFmode:
      if (!register_operand (operands[1], E_V4x2DFmode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3805; /* aarch64_vec_store_lanesv4x2df_lanev2df */

    case E_V4x8BFmode:
      if (!register_operand (operands[1], E_V4x8BFmode)
          || !
#line 7068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3806; /* aarch64_vec_store_lanesv4x8bf_lanev8bf */

    default:
      return -1;
    }
}

static int
recog_79 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3727; /* aarch64_vec_store_lanesv3x8qi_lanev8qi */

    case E_V3x4HImode:
      if (!register_operand (operands[1], E_V3x4HImode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3728; /* aarch64_vec_store_lanesv3x4hi_lanev4hi */

    case E_V3x2SImode:
      if (!register_operand (operands[1], E_V3x2SImode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3729; /* aarch64_vec_store_lanesv3x2si_lanev2si */

    case E_V3x1DImode:
      if (!register_operand (operands[1], E_V3x1DImode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3730; /* aarch64_vec_store_lanesv3x1di_lanedi */

    case E_V3x4HFmode:
      if (!register_operand (operands[1], E_V3x4HFmode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3731; /* aarch64_vec_store_lanesv3x4hf_lanev4hf */

    case E_V3x2SFmode:
      if (!register_operand (operands[1], E_V3x2SFmode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3732; /* aarch64_vec_store_lanesv3x2sf_lanev2sf */

    case E_V3x1DFmode:
      if (!register_operand (operands[1], E_V3x1DFmode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3733; /* aarch64_vec_store_lanesv3x1df_lanedf */

    case E_V3x4BFmode:
      if (!register_operand (operands[1], E_V3x4BFmode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3734; /* aarch64_vec_store_lanesv3x4bf_lanev4bf */

    case E_V3x16QImode:
      if (!register_operand (operands[1], E_V3x16QImode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3735; /* aarch64_vec_store_lanesv3x16qi_lanev16qi */

    case E_V3x8HImode:
      if (!register_operand (operands[1], E_V3x8HImode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3736; /* aarch64_vec_store_lanesv3x8hi_lanev8hi */

    case E_V3x4SImode:
      if (!register_operand (operands[1], E_V3x4SImode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3737; /* aarch64_vec_store_lanesv3x4si_lanev4si */

    case E_V3x2DImode:
      if (!register_operand (operands[1], E_V3x2DImode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3738; /* aarch64_vec_store_lanesv3x2di_lanev2di */

    case E_V3x8HFmode:
      if (!register_operand (operands[1], E_V3x8HFmode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3739; /* aarch64_vec_store_lanesv3x8hf_lanev8hf */

    case E_V3x4SFmode:
      if (!register_operand (operands[1], E_V3x4SFmode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3740; /* aarch64_vec_store_lanesv3x4sf_lanev4sf */

    case E_V3x2DFmode:
      if (!register_operand (operands[1], E_V3x2DFmode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3741; /* aarch64_vec_store_lanesv3x2df_lanev2df */

    case E_V3x8BFmode:
      if (!register_operand (operands[1], E_V3x8BFmode)
          || !
#line 6967 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3742; /* aarch64_vec_store_lanesv3x8bf_lanev8bf */

    default:
      return -1;
    }
}

static int
recog_80 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3663; /* aarch64_vec_store_lanesv2x8qi_lanev8qi */

    case E_V2x4HImode:
      if (!register_operand (operands[1], E_V2x4HImode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3664; /* aarch64_vec_store_lanesv2x4hi_lanev4hi */

    case E_V2x2SImode:
      if (!register_operand (operands[1], E_V2x2SImode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3665; /* aarch64_vec_store_lanesv2x2si_lanev2si */

    case E_V2x1DImode:
      if (!register_operand (operands[1], E_V2x1DImode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3666; /* aarch64_vec_store_lanesv2x1di_lanedi */

    case E_V2x4HFmode:
      if (!register_operand (operands[1], E_V2x4HFmode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3667; /* aarch64_vec_store_lanesv2x4hf_lanev4hf */

    case E_V2x2SFmode:
      if (!register_operand (operands[1], E_V2x2SFmode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3668; /* aarch64_vec_store_lanesv2x2sf_lanev2sf */

    case E_V2x1DFmode:
      if (!register_operand (operands[1], E_V2x1DFmode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3669; /* aarch64_vec_store_lanesv2x1df_lanedf */

    case E_V2x4BFmode:
      if (!register_operand (operands[1], E_V2x4BFmode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3670; /* aarch64_vec_store_lanesv2x4bf_lanev4bf */

    case E_V2x16QImode:
      if (!register_operand (operands[1], E_V2x16QImode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3671; /* aarch64_vec_store_lanesv2x16qi_lanev16qi */

    case E_V2x8HImode:
      if (!register_operand (operands[1], E_V2x8HImode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3672; /* aarch64_vec_store_lanesv2x8hi_lanev8hi */

    case E_V2x4SImode:
      if (!register_operand (operands[1], E_V2x4SImode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3673; /* aarch64_vec_store_lanesv2x4si_lanev4si */

    case E_V2x2DImode:
      if (!register_operand (operands[1], E_V2x2DImode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3674; /* aarch64_vec_store_lanesv2x2di_lanev2di */

    case E_V2x8HFmode:
      if (!register_operand (operands[1], E_V2x8HFmode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3675; /* aarch64_vec_store_lanesv2x8hf_lanev8hf */

    case E_V2x4SFmode:
      if (!register_operand (operands[1], E_V2x4SFmode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3676; /* aarch64_vec_store_lanesv2x4sf_lanev4sf */

    case E_V2x2DFmode:
      if (!register_operand (operands[1], E_V2x2DFmode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3677; /* aarch64_vec_store_lanesv2x2df_lanev2df */

    case E_V2x8BFmode:
      if (!register_operand (operands[1], E_V2x8BFmode)
          || !
#line 6868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3678; /* aarch64_vec_store_lanesv2x8bf_lanev8bf */

    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_CODE (operands[2]))
    {
    case REG:
    case SUBREG:
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (pattern66 (x3, E_V8QImode) != 0
              || !
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2895; /* aarch64_suqaddv8qi */

        case E_V16QImode:
          if (pattern66 (x3, E_V16QImode) != 0
              || !
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2897; /* aarch64_suqaddv16qi */

        case E_V4HImode:
          if (pattern66 (x3, E_V4HImode) != 0
              || !
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2899; /* aarch64_suqaddv4hi */

        case E_V8HImode:
          if (pattern66 (x3, E_V8HImode) != 0
              || !
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2901; /* aarch64_suqaddv8hi */

        case E_V2SImode:
          if (pattern66 (x3, E_V2SImode) != 0
              || !
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2903; /* aarch64_suqaddv2si */

        case E_V4SImode:
          if (pattern66 (x3, E_V4SImode) != 0
              || !
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2905; /* aarch64_suqaddv4si */

        case E_V2DImode:
          if (pattern66 (x3, E_V2DImode) != 0
              || !
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2907; /* aarch64_suqaddv2di */

        case E_QImode:
          if (pattern66 (x3, E_QImode) != 0
              || !
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2909; /* aarch64_suqaddqi */

        case E_HImode:
          if (pattern66 (x3, E_HImode) != 0
              || !
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2911; /* aarch64_suqaddhi */

        case E_SImode:
          if (pattern66 (x3, E_SImode) != 0
              || !
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2913; /* aarch64_suqaddsi */

        case E_DImode:
          if (pattern66 (x3, E_DImode) != 0
              || !
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2915; /* aarch64_suqadddi */

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern525 (x3, E_VNx16QImode) != 0
              || !
#line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9245; /* aarch64_sve_suqaddvnx16qi_const */

        case E_VNx8HImode:
          if (pattern525 (x3, E_VNx8HImode) != 0
              || !
#line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9246; /* aarch64_sve_suqaddvnx8hi_const */

        case E_VNx4SImode:
          if (pattern525 (x3, E_VNx4SImode) != 0
              || !
#line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9247; /* aarch64_sve_suqaddvnx4si_const */

        case E_VNx2DImode:
          if (pattern525 (x3, E_VNx2DImode) != 0
              || !
#line 321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9248; /* aarch64_sve_suqaddvnx2di_const */

        default:
          return -1;
        }

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern89 (x1))
    {
    case 0:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2985; /* aarch64_sqrdmulhv4hi */

    case 1:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2987; /* aarch64_sqrdmulhv8hi */

    case 2:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2989; /* aarch64_sqrdmulhv2si */

    case 3:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2991; /* aarch64_sqrdmulhv4si */

    case 4:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2993; /* aarch64_sqrdmulhhi */

    case 5:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2995; /* aarch64_sqrdmulhsi */

    case 6:
      if (!
#line 500 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9426; /* aarch64_sve_sqrdmulhvnx16qi */

    case 7:
      if (!
#line 500 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9428; /* aarch64_sve_sqrdmulhvnx8hi */

    case 8:
      if (!
#line 500 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9430; /* aarch64_sve_sqrdmulhvnx4si */

    case 9:
      if (!
#line 500 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9432; /* aarch64_sve_sqrdmulhvnx2di */

    case 10:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2997; /* aarch64_sqrdmulh_nv4hi */

    case 11:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2999; /* aarch64_sqrdmulh_nv8hi */

    case 12:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3001; /* aarch64_sqrdmulh_nv2si */

    case 13:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3003; /* aarch64_sqrdmulh_nv4si */

    case 14:
      if (!
#line 5285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3005; /* aarch64_sqrdmulh_lanev4hi */

    case 15:
      if (!
#line 5300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3013; /* aarch64_sqrdmulh_laneqv4hi */

    case 16:
      if (!
#line 5285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3007; /* aarch64_sqrdmulh_lanev8hi */

    case 17:
      if (!
#line 5300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3015; /* aarch64_sqrdmulh_laneqv8hi */

    case 18:
      if (!
#line 5285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3009; /* aarch64_sqrdmulh_lanev2si */

    case 19:
      if (!
#line 5300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3017; /* aarch64_sqrdmulh_laneqv2si */

    case 20:
      if (!
#line 5285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3011; /* aarch64_sqrdmulh_lanev4si */

    case 21:
      if (!
#line 5300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3019; /* aarch64_sqrdmulh_laneqv4si */

    case 22:
      if (!
#line 5315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3021; /* aarch64_sqrdmulh_lanehi */

    case 23:
      if (!
#line 5330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3025; /* aarch64_sqrdmulh_laneqhi */

    case 24:
      if (!
#line 5315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3023; /* aarch64_sqrdmulh_lanesi */

    case 25:
      if (!
#line 5330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3027; /* aarch64_sqrdmulh_laneqsi */

    case 26:
      if (!
#line 513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9434; /* aarch64_sve_sqrdmulh_lane_vnx8hi */

    case 27:
      if (!
#line 513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9436; /* aarch64_sve_sqrdmulh_lane_vnx4si */

    case 28:
      if (!
#line 513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9438; /* aarch64_sve_sqrdmulh_lane_vnx2di */

    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 (pattern89 (x1))
    {
    case 0:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2984; /* aarch64_sqdmulhv4hi */

    case 1:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2986; /* aarch64_sqdmulhv8hi */

    case 2:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2988; /* aarch64_sqdmulhv2si */

    case 3:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2990; /* aarch64_sqdmulhv4si */

    case 4:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2992; /* aarch64_sqdmulhhi */

    case 5:
      if (!
#line 5258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2994; /* aarch64_sqdmulhsi */

    case 6:
      if (!
#line 500 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9425; /* aarch64_sve_sqdmulhvnx16qi */

    case 7:
      if (!
#line 500 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9427; /* aarch64_sve_sqdmulhvnx8hi */

    case 8:
      if (!
#line 500 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9429; /* aarch64_sve_sqdmulhvnx4si */

    case 9:
      if (!
#line 500 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9431; /* aarch64_sve_sqdmulhvnx2di */

    case 10:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2996; /* aarch64_sqdmulh_nv4hi */

    case 11:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2998; /* aarch64_sqdmulh_nv8hi */

    case 12:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3000; /* aarch64_sqdmulh_nv2si */

    case 13:
      if (!
#line 5270 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3002; /* aarch64_sqdmulh_nv4si */

    case 14:
      if (!
#line 5285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3004; /* aarch64_sqdmulh_lanev4hi */

    case 15:
      if (!
#line 5300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3012; /* aarch64_sqdmulh_laneqv4hi */

    case 16:
      if (!
#line 5285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3006; /* aarch64_sqdmulh_lanev8hi */

    case 17:
      if (!
#line 5300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3014; /* aarch64_sqdmulh_laneqv8hi */

    case 18:
      if (!
#line 5285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3008; /* aarch64_sqdmulh_lanev2si */

    case 19:
      if (!
#line 5300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3016; /* aarch64_sqdmulh_laneqv2si */

    case 20:
      if (!
#line 5285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3010; /* aarch64_sqdmulh_lanev4si */

    case 21:
      if (!
#line 5300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3018; /* aarch64_sqdmulh_laneqv4si */

    case 22:
      if (!
#line 5315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3020; /* aarch64_sqdmulh_lanehi */

    case 23:
      if (!
#line 5330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3024; /* aarch64_sqdmulh_laneqhi */

    case 24:
      if (!
#line 5315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3022; /* aarch64_sqdmulh_lanesi */

    case 25:
      if (!
#line 5330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3026; /* aarch64_sqdmulh_laneqsi */

    case 26:
      if (!
#line 513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9433; /* aarch64_sve_sqdmulh_lane_vnx8hi */

    case 27:
      if (!
#line 513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9435; /* aarch64_sve_sqdmulh_lane_vnx4si */

    case 28:
      if (!
#line 513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9437; /* aarch64_sve_sqdmulh_lane_vnx2di */

    default:
      return -1;
    }
}

static int
recog_84 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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 (pattern496 (x3, E_V8QImode))
        {
        case 0:
          if (!
#line 7739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4092; /* aarch64_qtbl1v8qi */

        case 1:
          if (!
#line 7762 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4096; /* aarch64_qtbl2v8qi */

        case 2:
          if (!
#line 7785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4100; /* aarch64_qtbl3v8qi */

        case 3:
          if (!
#line 7808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4104; /* aarch64_qtbl4v8qi */

        default:
          return -1;
        }

    case E_V16QImode:
      switch (pattern496 (x3, E_V16QImode))
        {
        case 0:
          if (!
#line 7739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4093; /* aarch64_qtbl1v16qi */

        case 1:
          if (!
#line 7762 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4097; /* aarch64_qtbl2v16qi */

        case 2:
          if (!
#line 7785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4101; /* aarch64_qtbl3v16qi */

        case 3:
          if (!
#line 7808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4105; /* aarch64_qtbl4v16qi */

        default:
          return -1;
        }

    case E_VNx16QImode:
      if (pattern66 (x3, E_VNx16QImode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8666; /* aarch64_sve_tblvnx16qi */

    case E_VNx8HImode:
      if (pattern66 (x3, E_VNx8HImode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8667; /* aarch64_sve_tblvnx8hi */

    case E_VNx4SImode:
      if (pattern66 (x3, E_VNx4SImode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8668; /* aarch64_sve_tblvnx4si */

    case E_VNx2DImode:
      if (pattern66 (x3, E_VNx2DImode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8669; /* aarch64_sve_tblvnx2di */

    case E_VNx8BFmode:
      if (pattern108 (x3, E_VNx8HImode, E_VNx8BFmode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8670; /* aarch64_sve_tblvnx8bf */

    case E_VNx8HFmode:
      if (pattern108 (x3, E_VNx8HImode, E_VNx8HFmode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8671; /* aarch64_sve_tblvnx8hf */

    case E_VNx4SFmode:
      if (pattern108 (x3, E_VNx4SImode, E_VNx4SFmode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8672; /* aarch64_sve_tblvnx4sf */

    case E_VNx2DFmode:
      if (pattern108 (x3, E_VNx2DImode, E_VNx2DFmode) != 0
          || !
#line 8671 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8673; /* aarch64_sve_tblvnx2df */

    default:
      return -1;
    }
}

static int
recog_85 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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 1391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1887; /* 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 1391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1888; /* 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 1391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1889; /* 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 1391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1890; /* 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 1391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1891; /* 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 1391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1892; /* vec_shr_v4bf */

    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 (pattern111 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8234; /* while_wrsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8244; /* while_wrdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8254; /* while_wrsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8264; /* while_wrdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8274; /* while_wrsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8284; /* while_wrdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8294; /* while_wrsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8304; /* while_wrdivnx2bi */

    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 (pattern111 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8233; /* while_rwsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8243; /* while_rwdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8253; /* while_rwsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8263; /* while_rwdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8273; /* while_rwsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8283; /* while_rwdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8293; /* while_rwsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8303; /* while_rwdivnx2bi */

    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 (pattern111 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8232; /* while_ugesivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8242; /* while_ugedivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8252; /* while_ugesivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8262; /* while_ugedivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8272; /* while_ugesivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8282; /* while_ugedivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8292; /* while_ugesivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8302; /* while_ugedivnx2bi */

    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 (pattern111 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8231; /* while_ugtsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8241; /* while_ugtdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8251; /* while_ugtsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8261; /* while_ugtdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8271; /* while_ugtsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8281; /* while_ugtdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8291; /* while_ugtsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8301; /* while_ugtdivnx2bi */

    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 (pattern111 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8230; /* while_gtsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8240; /* while_gtdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8250; /* while_gtsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8260; /* while_gtdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8270; /* while_gtsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8280; /* while_gtdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8290; /* while_gtsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8300; /* while_gtdivnx2bi */

    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 (pattern111 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8229; /* while_gesivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8239; /* while_gedivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8249; /* while_gesivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8259; /* while_gedivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8269; /* while_gesivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8279; /* while_gedivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8289; /* while_gesivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8299; /* while_gedivnx2bi */

    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 (pattern111 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8228; /* while_ltsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8238; /* while_ltdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8248; /* while_ltsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8258; /* while_ltdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8268; /* while_ltsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8278; /* while_ltdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8288; /* while_ltsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8298; /* while_ltdivnx2bi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern111 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8227; /* while_ulesivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8237; /* while_uledivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8247; /* while_ulesivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8257; /* while_uledivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8267; /* while_ulesivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8277; /* while_uledivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8287; /* while_ulesivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8297; /* while_uledivnx2bi */

    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 (pattern111 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8226; /* while_ultsivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8236; /* while_ultdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8246; /* while_ultsivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8256; /* while_ultdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8266; /* while_ultsivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8276; /* while_ultdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8286; /* while_ultsivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8296; /* while_ultdivnx2bi */

    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 (pattern111 (x1, pnum_clobbers))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8225; /* while_lesivnx16bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8235; /* while_ledivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8245; /* while_lesivnx8bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8255; /* while_ledivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8265; /* while_lesivnx4bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8275; /* while_ledivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        {
          *pnum_clobbers = 1;
          return 8285; /* while_lesivnx2bi */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 8295; /* while_ledivnx2bi */

    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[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_V8QImode:
      if (pattern91 (x3, E_V8QImode) != 0
          || !
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3310; /* aarch64_sqshlu_nv8qi */

    case E_V16QImode:
      if (pattern91 (x3, E_V16QImode) != 0
          || !
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3313; /* aarch64_sqshlu_nv16qi */

    case E_V4HImode:
      if (pattern92 (x3, E_V4HImode) != 0
          || !
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3316; /* aarch64_sqshlu_nv4hi */

    case E_V8HImode:
      if (pattern92 (x3, E_V8HImode) != 0
          || !
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3319; /* aarch64_sqshlu_nv8hi */

    case E_V2SImode:
      if (pattern93 (x3, E_V2SImode) != 0
          || !
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3322; /* aarch64_sqshlu_nv2si */

    case E_V4SImode:
      if (pattern93 (x3, E_V4SImode) != 0
          || !
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3325; /* aarch64_sqshlu_nv4si */

    case E_V2DImode:
      if (pattern94 (x3, E_V2DImode) != 0
          || !
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3328; /* aarch64_sqshlu_nv2di */

    case E_QImode:
      if (pattern91 (x3, E_QImode) != 0
          || !
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3331; /* aarch64_sqshlu_nqi */

    case E_HImode:
      if (pattern92 (x3, E_HImode) != 0
          || !
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3334; /* aarch64_sqshlu_nhi */

    case E_SImode:
      if (pattern93 (x3, E_SImode) != 0
          || !
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3337; /* aarch64_sqshlu_nsi */

    case E_DImode:
      if (pattern94 (x3, E_DImode) != 0
          || !
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3340; /* aarch64_sqshlu_ndi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern95 (x1))
    {
    case 0:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3163; /* aarch64_uqshlv8qi */

    case 1:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3167; /* aarch64_uqshlv16qi */

    case 2:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3171; /* aarch64_uqshlv4hi */

    case 3:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3175; /* aarch64_uqshlv8hi */

    case 4:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3179; /* aarch64_uqshlv2si */

    case 5:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3183; /* aarch64_uqshlv4si */

    case 6:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3187; /* aarch64_uqshlv2di */

    case 7:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3191; /* aarch64_uqshlqi */

    case 8:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3195; /* aarch64_uqshlhi */

    case 9:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3199; /* aarch64_uqshlsi */

    case 10:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3203; /* aarch64_uqshldi */

    case 11:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3312; /* aarch64_uqshl_nv8qi */

    case 12:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3315; /* aarch64_uqshl_nv16qi */

    case 13:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3318; /* aarch64_uqshl_nv4hi */

    case 14:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3321; /* aarch64_uqshl_nv8hi */

    case 15:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3324; /* aarch64_uqshl_nv2si */

    case 16:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3327; /* aarch64_uqshl_nv4si */

    case 17:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3330; /* aarch64_uqshl_nv2di */

    case 18:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3333; /* aarch64_uqshl_nqi */

    case 19:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3336; /* aarch64_uqshl_nhi */

    case 20:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3339; /* aarch64_uqshl_nsi */

    case 21:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3342; /* aarch64_uqshl_ndi */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern95 (x1))
    {
    case 0:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3162; /* aarch64_sqshlv8qi */

    case 1:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3166; /* aarch64_sqshlv16qi */

    case 2:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3170; /* aarch64_sqshlv4hi */

    case 3:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3174; /* aarch64_sqshlv8hi */

    case 4:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3178; /* aarch64_sqshlv2si */

    case 5:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3182; /* aarch64_sqshlv4si */

    case 6:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3186; /* aarch64_sqshlv2di */

    case 7:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3190; /* aarch64_sqshlqi */

    case 8:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3194; /* aarch64_sqshlhi */

    case 9:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3198; /* aarch64_sqshlsi */

    case 10:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3202; /* aarch64_sqshldi */

    case 11:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3311; /* aarch64_sqshl_nv8qi */

    case 12:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3314; /* aarch64_sqshl_nv16qi */

    case 13:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3317; /* aarch64_sqshl_nv4hi */

    case 14:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3320; /* aarch64_sqshl_nv8hi */

    case 15:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3323; /* aarch64_sqshl_nv2si */

    case 16:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3326; /* aarch64_sqshl_nv4si */

    case 17:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3329; /* aarch64_sqshl_nv2di */

    case 18:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3332; /* aarch64_sqshl_nqi */

    case 19:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3335; /* aarch64_sqshl_nhi */

    case 20:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3338; /* aarch64_sqshl_nsi */

    case 21:
      if (!
#line 6379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3341; /* aarch64_sqshl_ndi */

    default:
      return -1;
    }
}

static int
recog_99 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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 2625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5250; /* aarch64_sve_ld1rovnx16qi */

    case E_VNx8HImode:
      if (pattern499 (x3, E_VNx8HImode) != 0
          || !
#line 2625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5251; /* aarch64_sve_ld1rovnx8hi */

    case E_VNx4SImode:
      if (pattern500 (x3, E_VNx4SImode) != 0
          || !
#line 2625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5252; /* aarch64_sve_ld1rovnx4si */

    case E_VNx2DImode:
      if (pattern501 (x3, E_VNx2DImode) != 0
          || !
#line 2625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5253; /* aarch64_sve_ld1rovnx2di */

    case E_VNx8BFmode:
      if (pattern499 (x3, E_VNx8BFmode) != 0
          || !
#line 2625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5254; /* aarch64_sve_ld1rovnx8bf */

    case E_VNx8HFmode:
      if (pattern499 (x3, E_VNx8HFmode) != 0
          || !
#line 2625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5255; /* aarch64_sve_ld1rovnx8hf */

    case E_VNx4SFmode:
      if (pattern500 (x3, E_VNx4SFmode) != 0
          || !
#line 2625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5256; /* aarch64_sve_ld1rovnx4sf */

    case E_VNx2DFmode:
      if (pattern501 (x3, E_VNx2DFmode) != 0
          || !
#line 2625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 5257; /* aarch64_sve_ld1rovnx2df */

    default:
      return -1;
    }
}

static int
recog_100 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  switch (pattern208 (x3))
    {
    case 0:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4633; /* *aarch64_sve_movvnx16qi_subreg_be */

    case 1:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4634; /* *aarch64_sve_movvnx8qi_subreg_be */

    case 2:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4635; /* *aarch64_sve_movvnx4qi_subreg_be */

    case 3:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4636; /* *aarch64_sve_movvnx2qi_subreg_be */

    case 4:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4637; /* *aarch64_sve_movvnx8hi_subreg_be */

    case 5:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4638; /* *aarch64_sve_movvnx4hi_subreg_be */

    case 6:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4639; /* *aarch64_sve_movvnx2hi_subreg_be */

    case 7:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4640; /* *aarch64_sve_movvnx8hf_subreg_be */

    case 8:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4641; /* *aarch64_sve_movvnx4hf_subreg_be */

    case 9:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4642; /* *aarch64_sve_movvnx2hf_subreg_be */

    case 10:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4643; /* *aarch64_sve_movvnx8bf_subreg_be */

    case 11:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4644; /* *aarch64_sve_movvnx4bf_subreg_be */

    case 12:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4645; /* *aarch64_sve_movvnx2bf_subreg_be */

    case 13:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4646; /* *aarch64_sve_movvnx4si_subreg_be */

    case 14:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4647; /* *aarch64_sve_movvnx2si_subreg_be */

    case 15:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4648; /* *aarch64_sve_movvnx4sf_subreg_be */

    case 16:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4649; /* *aarch64_sve_movvnx2sf_subreg_be */

    case 17:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4650; /* *aarch64_sve_movvnx2di_subreg_be */

    case 18:
      if (!
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return -1;
      return 4651; /* *aarch64_sve_movvnx2df_subreg_be */

    default:
      return -1;
    }
}

static int
recog_101 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  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 (pattern66 (x3, E_VNx4SImode) != 0
              || !
#line 3857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6511; /* aarch64_adrvnx4si */

        case E_VNx2DImode:
          if (pattern66 (x3, E_VNx2DImode) != 0
              || !
#line 3857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6512; /* aarch64_adrvnx2di */

        default:
          return -1;
        }

    case UNSPEC:
      if (pattern437 (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 3873 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6513; /* *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 3890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6514; /* *aarch64_adr_uxtw_unspec */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern96 (x1))
    {
    case 0:
      if (vect_par_cnst_lo_half (operands[2], E_V16QImode)
          && 
#line 6269 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3207; /* aarch64_ushllv16qi_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V16QImode)
          || !
#line 6287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3213; /* aarch64_ushll2v16qi_internal */

    case 1:
      if (vect_par_cnst_lo_half (operands[2], E_V8HImode)
          && 
#line 6269 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3209; /* aarch64_ushllv8hi_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V8HImode)
          || !
#line 6287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3215; /* aarch64_ushll2v8hi_internal */

    case 2:
      if (vect_par_cnst_lo_half (operands[2], E_V4SImode)
          && 
#line 6269 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3211; /* aarch64_ushllv4si_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V4SImode)
          || !
#line 6287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3217; /* aarch64_ushll2v4si_internal */

    case 3:
      if (!
#line 6303 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3219; /* aarch64_ushll_nv8qi */

    case 4:
      if (!
#line 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3225; /* aarch64_ushll2_nv16qi */

    case 5:
      if (!
#line 6303 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3221; /* aarch64_ushll_nv4hi */

    case 6:
      if (!
#line 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3227; /* aarch64_ushll2_nv8hi */

    case 7:
      if (!
#line 6303 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3223; /* aarch64_ushll_nv2si */

    case 8:
      if (!
#line 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3229; /* aarch64_ushll2_nv4si */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern96 (x1))
    {
    case 0:
      if (vect_par_cnst_lo_half (operands[2], E_V16QImode)
          && 
#line 6269 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3206; /* aarch64_sshllv16qi_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V16QImode)
          || !
#line 6287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3212; /* aarch64_sshll2v16qi_internal */

    case 1:
      if (vect_par_cnst_lo_half (operands[2], E_V8HImode)
          && 
#line 6269 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3208; /* aarch64_sshllv8hi_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V8HImode)
          || !
#line 6287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3214; /* aarch64_sshll2v8hi_internal */

    case 2:
      if (vect_par_cnst_lo_half (operands[2], E_V4SImode)
          && 
#line 6269 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 3210; /* aarch64_sshllv4si_internal */
      if (!vect_par_cnst_hi_half (operands[2], E_V4SImode)
          || !
#line 6287 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3216; /* aarch64_sshll2v4si_internal */

    case 3:
      if (!
#line 6303 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3218; /* aarch64_sshll_nv8qi */

    case 4:
      if (!
#line 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3224; /* aarch64_sshll2_nv16qi */

    case 5:
      if (!
#line 6303 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3220; /* aarch64_sshll_nv4hi */

    case 6:
      if (!
#line 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3226; /* aarch64_sshll2_nv8hi */

    case 7:
      if (!
#line 6303 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3222; /* aarch64_sshll_nv2si */

    case 8:
      if (!
#line 6320 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3228; /* aarch64_sshll2_nv4si */

    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[1] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (pattern503 (x3, E_VNx16QImode, E_VNx32QImode) != 0
          || !
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10060; /* aarch64_sve2_tbl2vnx16qi */

    case E_VNx8HImode:
      if (pattern503 (x3, E_VNx8HImode, E_VNx16HImode) != 0
          || !
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10061; /* aarch64_sve2_tbl2vnx8hi */

    case E_VNx4SImode:
      if (pattern503 (x3, E_VNx4SImode, E_VNx8SImode) != 0
          || !
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10062; /* aarch64_sve2_tbl2vnx4si */

    case E_VNx2DImode:
      if (pattern503 (x3, E_VNx2DImode, E_VNx4DImode) != 0
          || !
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10063; /* aarch64_sve2_tbl2vnx2di */

    case E_VNx8BFmode:
      if (pattern80 (x3, E_VNx8HImode, E_VNx16BFmode, E_VNx8BFmode) != 0
          || !
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10064; /* aarch64_sve2_tbl2vnx8bf */

    case E_VNx8HFmode:
      if (pattern80 (x3, E_VNx8HImode, E_VNx16HFmode, E_VNx8HFmode) != 0
          || !
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10065; /* aarch64_sve2_tbl2vnx8hf */

    case E_VNx4SFmode:
      if (pattern80 (x3, E_VNx4SImode, E_VNx8SFmode, E_VNx4SFmode) != 0
          || !
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10066; /* aarch64_sve2_tbl2vnx4sf */

    case E_VNx2DFmode:
      if (pattern80 (x3, E_VNx2DImode, E_VNx4DFmode, E_VNx2DFmode) != 0
          || !
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10067; /* aarch64_sve2_tbl2vnx2df */

    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;
  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 (pattern502 (x3, E_QImode, E_VNx16QImode) != 0
          || !
#line 2656 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5258; /* vec_shl_insert_vnx16qi */

    case E_VNx8HImode:
      if (pattern502 (x3, E_HImode, E_VNx8HImode) != 0
          || !
#line 2656 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5259; /* vec_shl_insert_vnx8hi */

    case E_VNx4SImode:
      if (pattern502 (x3, E_SImode, E_VNx4SImode) != 0
          || !
#line 2656 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5260; /* vec_shl_insert_vnx4si */

    case E_VNx2DImode:
      if (pattern502 (x3, E_DImode, E_VNx2DImode) != 0
          || !
#line 2656 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5261; /* vec_shl_insert_vnx2di */

    case E_VNx8BFmode:
      if (pattern502 (x3, E_BFmode, E_VNx8BFmode) != 0
          || !
#line 2656 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5262; /* vec_shl_insert_vnx8bf */

    case E_VNx8HFmode:
      if (pattern502 (x3, E_HFmode, E_VNx8HFmode) != 0
          || !
#line 2656 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5263; /* vec_shl_insert_vnx8hf */

    case E_VNx4SFmode:
      if (pattern502 (x3, E_SFmode, E_VNx4SFmode) != 0
          || !
#line 2656 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5264; /* vec_shl_insert_vnx4sf */

    case E_VNx2DFmode:
      if (pattern502 (x3, E_DFmode, E_VNx2DFmode) != 0
          || !
#line 2656 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5265; /* vec_shl_insert_vnx2df */

    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, 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 (pattern498 (x3, E_V16QImode, E_VNx16BImode, E_VNx16QImode) != 0
          || !
#line 2611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5242; /* aarch64_sve_ld1rqvnx16qi */

    case E_VNx8HImode:
      if (pattern498 (x3, E_V8HImode, E_VNx8BImode, E_VNx8HImode) != 0
          || !
#line 2611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5243; /* aarch64_sve_ld1rqvnx8hi */

    case E_VNx4SImode:
      if (pattern498 (x3, E_V4SImode, E_VNx4BImode, E_VNx4SImode) != 0
          || !
#line 2611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5244; /* aarch64_sve_ld1rqvnx4si */

    case E_VNx2DImode:
      if (pattern498 (x3, E_V2DImode, E_VNx2BImode, E_VNx2DImode) != 0
          || !
#line 2611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5245; /* aarch64_sve_ld1rqvnx2di */

    case E_VNx8BFmode:
      if (pattern498 (x3, E_V8BFmode, E_VNx8BImode, E_VNx8BFmode) != 0
          || !
#line 2611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5246; /* aarch64_sve_ld1rqvnx8bf */

    case E_VNx8HFmode:
      if (pattern498 (x3, E_V8HFmode, E_VNx8BImode, E_VNx8HFmode) != 0
          || !
#line 2611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5247; /* aarch64_sve_ld1rqvnx8hf */

    case E_VNx4SFmode:
      if (pattern498 (x3, E_V4SFmode, E_VNx4BImode, E_VNx4SFmode) != 0
          || !
#line 2611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5248; /* aarch64_sve_ld1rqvnx4sf */

    case E_VNx2DFmode:
      if (pattern498 (x3, E_V2DFmode, E_VNx2BImode, E_VNx2DFmode) != 0
          || !
#line 2611 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5249; /* aarch64_sve_ld1rqvnx2df */

    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[2] = x4;
  x5 = XVECEXP (x3, 0, 1);
  operands[1] = x5;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (pattern497 (x3, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4904; /* aarch64_ldnt1vnx16qi */

    case E_VNx8HImode:
      if (pattern497 (x3, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4905; /* aarch64_ldnt1vnx8hi */

    case E_VNx4SImode:
      if (pattern497 (x3, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4906; /* aarch64_ldnt1vnx4si */

    case E_VNx2DImode:
      if (pattern497 (x3, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4907; /* aarch64_ldnt1vnx2di */

    case E_VNx8BFmode:
      if (pattern497 (x3, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4908; /* aarch64_ldnt1vnx8bf */

    case E_VNx8HFmode:
      if (pattern497 (x3, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4909; /* aarch64_ldnt1vnx8hf */

    case E_VNx4SFmode:
      if (pattern497 (x3, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4910; /* aarch64_ldnt1vnx4sf */

    case E_VNx2DFmode:
      if (pattern497 (x3, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 1389 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4911; /* aarch64_ldnt1vnx2df */

    default:
      return -1;
    }
}

static int
recog_108 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  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 (pattern75 (x3, E_V8QImode, E_V8HImode) != 0
              || !
#line 4911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2828; /* aarch64_pmullv8qi */

        case E_TImode:
          if (pattern75 (x3, E_DImode, E_TImode) != 0
              || !
#line 9002 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_AES))
            return -1;
          return 4389; /* 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 4926 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2829; /* aarch64_pmull_hiv16qi_insn */

    default:
      return -1;
    }
}

static int
recog_109 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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 8540 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 8))
        return -1;
      return 8614; /* aarch64_pred_reduc_uadd_vnx16qi */

    case E_VNx8BImode:
      if (!register_operand (operands[1], E_VNx8BImode)
          || !register_operand (operands[2], E_VNx8HImode)
          || !
#line 8540 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      return 8616; /* aarch64_pred_reduc_uadd_vnx8hi */

    case E_VNx4BImode:
      if (!register_operand (operands[1], E_VNx4BImode)
          || !register_operand (operands[2], E_VNx4SImode)
          || !
#line 8540 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      return 8618; /* aarch64_pred_reduc_uadd_vnx4si */

    case E_VNx2BImode:
      if (!register_operand (operands[1], E_VNx2BImode)
          || !register_operand (operands[2], E_VNx2DImode)
          || !
#line 8540 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      return 8619; /* aarch64_pred_reduc_uadd_vnx2di */

    default:
      return -1;
    }
}

static int
recog_110 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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 (pattern75 (x3, E_VNx8HImode, E_VNx16QImode) != 0
          || !
#line 8939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8969; /* vec_pack_trunc_vnx8hi */

    case E_VNx8HImode:
      if (pattern75 (x3, E_VNx4SImode, E_VNx8HImode) != 0
          || !
#line 8939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8970; /* vec_pack_trunc_vnx4si */

    case E_VNx4SImode:
      if (pattern75 (x3, E_VNx2DImode, E_VNx4SImode) != 0
          || !
#line 8939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8971; /* vec_pack_trunc_vnx2di */

    case E_VNx16BImode:
      if (pattern75 (x3, E_VNx8BImode, E_VNx16BImode) != 0
          || !
#line 9608 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9079; /* vec_pack_trunc_vnx8bi */

    case E_VNx8BImode:
      if (pattern75 (x3, E_VNx4BImode, E_VNx8BImode) != 0
          || !
#line 9608 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9080; /* vec_pack_trunc_vnx4bi */

    case E_VNx4BImode:
      if (pattern75 (x3, E_VNx2BImode, E_VNx4BImode) != 0
          || !
#line 9608 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9081; /* vec_pack_trunc_vnx2bi */

    default:
      return -1;
    }
}

static int
recog_111 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != E_VNx16BImode)
    return -1;
  x3 = XEXP (x1, 0);
  operands[0] = x3;
  if (!register_operand (operands[0], E_VNx16BImode))
    return -1;
  x4 = XVECEXP (x2, 0, 0);
  operands[1] = x4;
  if (!register_operand (operands[1], E_VNx16BImode))
    return -1;
  x5 = XVECEXP (x2, 0, 1);
  operands[2] = x5;
  switch (GET_MODE (operands[2]))
    {
    case E_VNx16BImode:
      if (!aarch64_simd_imm_zero (operands[2], E_VNx16BImode)
          || !
#line 8858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8917; /* *aarch64_sve_revvnx16bi_acle */

    case E_VNx8BImode:
      if (!aarch64_simd_imm_zero (operands[2], E_VNx8BImode)
          || !
#line 8858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8918; /* *aarch64_sve_revvnx8bi_acle */

    case E_VNx4BImode:
      if (!aarch64_simd_imm_zero (operands[2], E_VNx4BImode)
          || !
#line 8858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8919; /* *aarch64_sve_revvnx4bi_acle */

    case E_VNx2BImode:
      if (!aarch64_simd_imm_zero (operands[2], E_VNx2BImode)
          || !
#line 8858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8920; /* *aarch64_sve_revvnx2bi_acle */

    default:
      return -1;
    }
}

static int
recog_112 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, 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 8540 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 8))
        return -1;
      return 8613; /* aarch64_pred_reduc_sadd_vnx16qi */

    case E_VNx8BImode:
      if (!register_operand (operands[1], E_VNx8BImode)
          || !register_operand (operands[2], E_VNx8HImode)
          || !
#line 8540 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
        return -1;
      return 8615; /* aarch64_pred_reduc_sadd_vnx8hi */

    case E_VNx4BImode:
      if (!register_operand (operands[1], E_VNx4BImode)
          || !register_operand (operands[2], E_VNx4SImode)
          || !
#line 8540 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
        return -1;
      return 8617; /* aarch64_pred_reduc_sadd_vnx4si */

    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 (pattern74 (x1))
    {
    case 0:
      if (!(
#line 8060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4314; /* aarch64_frecpsv4hf */

    case 1:
      if (!(
#line 8060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4315; /* aarch64_frecpsv8hf */

    case 2:
      if (!
#line 8060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4316; /* aarch64_frecpsv2sf */

    case 3:
      if (!
#line 8060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4317; /* aarch64_frecpsv4sf */

    case 4:
      if (!
#line 8060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4318; /* aarch64_frecpsv2df */

    case 5:
      if (!(
#line 8060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4319; /* aarch64_frecpshf */

    case 6:
      if (!
#line 8060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4320; /* aarch64_frecpssf */

    case 7:
      if (!
#line 8060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4321; /* aarch64_frecpsdf */

    case 8:
      if (!
#line 5064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7000; /* aarch64_sve_frecpsvnx8hf */

    case 9:
      if (!
#line 5064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7002; /* aarch64_sve_frecpsvnx4sf */

    case 10:
      if (!
#line 5064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7004; /* aarch64_sve_frecpsvnx2df */

    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 (pattern84 (x1))
    {
    case 0:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3165; /* aarch64_uqrshlv8qi */

    case 1:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3169; /* aarch64_uqrshlv16qi */

    case 2:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3173; /* aarch64_uqrshlv4hi */

    case 3:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3177; /* aarch64_uqrshlv8hi */

    case 4:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3181; /* aarch64_uqrshlv2si */

    case 5:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3185; /* aarch64_uqrshlv4si */

    case 6:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3189; /* aarch64_uqrshlv2di */

    case 7:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3193; /* aarch64_uqrshlqi */

    case 8:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3197; /* aarch64_uqrshlhi */

    case 9:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3201; /* aarch64_uqrshlsi */

    case 10:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3205; /* aarch64_uqrshldi */

    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 (pattern84 (x1))
    {
    case 0:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3164; /* aarch64_sqrshlv8qi */

    case 1:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3168; /* aarch64_sqrshlv16qi */

    case 2:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3172; /* aarch64_sqrshlv4hi */

    case 3:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3176; /* aarch64_sqrshlv8hi */

    case 4:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3180; /* aarch64_sqrshlv2si */

    case 5:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3184; /* aarch64_sqrshlv4si */

    case 6:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3188; /* aarch64_sqrshlv2di */

    case 7:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3192; /* aarch64_sqrshlqi */

    case 8:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3196; /* aarch64_sqrshlhi */

    case 9:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3200; /* aarch64_sqrshlsi */

    case 10:
      if (!
#line 6224 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3204; /* aarch64_sqrshldi */

    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 (pattern84 (x1))
    {
    case 0:
      if (!
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2896; /* aarch64_usqaddv8qi */

    case 1:
      if (!
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2898; /* aarch64_usqaddv16qi */

    case 2:
      if (!
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2900; /* aarch64_usqaddv4hi */

    case 3:
      if (!
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2902; /* aarch64_usqaddv8hi */

    case 4:
      if (!
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2904; /* aarch64_usqaddv2si */

    case 5:
      if (!
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2906; /* aarch64_usqaddv4si */

    case 6:
      if (!
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2908; /* aarch64_usqaddv2di */

    case 7:
      if (!
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2910; /* aarch64_usqaddqi */

    case 8:
      if (!
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2912; /* aarch64_usqaddhi */

    case 9:
      if (!
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2914; /* aarch64_usqaddsi */

    case 10:
      if (!
#line 5046 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2916; /* aarch64_usqadddi */

    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 (pattern74 (x1))
    {
    case 0:
      if (!(
#line 789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1664; /* aarch64_rsqrtsv4hf */

    case 1:
      if (!(
#line 789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1665; /* aarch64_rsqrtsv8hf */

    case 2:
      if (!
#line 789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1666; /* aarch64_rsqrtsv2sf */

    case 3:
      if (!
#line 789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1667; /* aarch64_rsqrtsv4sf */

    case 4:
      if (!
#line 789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1668; /* aarch64_rsqrtsv2df */

    case 5:
      if (!(
#line 789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1669; /* aarch64_rsqrtshf */

    case 6:
      if (!
#line 789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1670; /* aarch64_rsqrtssf */

    case 7:
      if (!
#line 789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1671; /* aarch64_rsqrtsdf */

    case 8:
      if (!
#line 5064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7001; /* aarch64_sve_frsqrtsvnx8hf */

    case 9:
      if (!
#line 5064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7003; /* aarch64_sve_frsqrtsvnx4sf */

    case 10:
      if (!
#line 5064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7005; /* aarch64_sve_frsqrtsvnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern81 (x1))
    {
    case 0:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1956; /* aarch64_sminpv8qi */

    case 1:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1960; /* aarch64_sminpv16qi */

    case 2:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1964; /* aarch64_sminpv4hi */

    case 3:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1968; /* aarch64_sminpv8hi */

    case 4:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1972; /* aarch64_sminpv2si */

    case 5:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1976; /* aarch64_sminpv4si */

    case 6:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8623; /* aarch64_pred_reduc_smin_vnx16qi */

    case 7:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8630; /* aarch64_pred_reduc_smin_vnx8hi */

    case 8:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8637; /* aarch64_pred_reduc_smin_vnx4si */

    case 9:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8644; /* aarch64_pred_reduc_smin_vnx2di */

    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 (pattern81 (x1))
    {
    case 0:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1954; /* aarch64_uminpv8qi */

    case 1:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1958; /* aarch64_uminpv16qi */

    case 2:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1962; /* aarch64_uminpv4hi */

    case 3:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1966; /* aarch64_uminpv8hi */

    case 4:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1970; /* aarch64_uminpv2si */

    case 5:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1974; /* aarch64_uminpv4si */

    case 6:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8625; /* aarch64_pred_reduc_umin_vnx16qi */

    case 7:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8632; /* aarch64_pred_reduc_umin_vnx8hi */

    case 8:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8639; /* aarch64_pred_reduc_umin_vnx4si */

    case 9:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8646; /* aarch64_pred_reduc_umin_vnx2di */

    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 (pattern81 (x1))
    {
    case 0:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1955; /* aarch64_smaxpv8qi */

    case 1:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1959; /* aarch64_smaxpv16qi */

    case 2:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1963; /* aarch64_smaxpv4hi */

    case 3:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1967; /* aarch64_smaxpv8hi */

    case 4:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1971; /* aarch64_smaxpv2si */

    case 5:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1975; /* aarch64_smaxpv4si */

    case 6:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8622; /* aarch64_pred_reduc_smax_vnx16qi */

    case 7:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8629; /* aarch64_pred_reduc_smax_vnx8hi */

    case 8:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8636; /* aarch64_pred_reduc_smax_vnx4si */

    case 9:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8643; /* aarch64_pred_reduc_smax_vnx2di */

    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 (pattern81 (x1))
    {
    case 0:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1953; /* aarch64_umaxpv8qi */

    case 1:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1957; /* aarch64_umaxpv16qi */

    case 2:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1961; /* aarch64_umaxpv4hi */

    case 3:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1965; /* aarch64_umaxpv8hi */

    case 4:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1969; /* aarch64_umaxpv2si */

    case 5:
      if (!
#line 1583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1973; /* aarch64_umaxpv4si */

    case 6:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8624; /* aarch64_pred_reduc_umax_vnx16qi */

    case 7:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8631; /* aarch64_pred_reduc_umax_vnx8hi */

    case 8:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8638; /* aarch64_pred_reduc_umax_vnx4si */

    case 9:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8645; /* aarch64_pred_reduc_umax_vnx2di */

    default:
      return -1;
    }
}

static int
recog_122 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
        return -1;
      return 1129; /* 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 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
        return -1;
      return 1130; /* tlsie_tiny_di */

    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 (pattern113 (x1))
    {
    case 0:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8851; /* aarch64_sve_uzp2qvnx16qi */

    case 1:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8857; /* aarch64_sve_uzp2qvnx8hi */

    case 2:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8863; /* aarch64_sve_uzp2qvnx4si */

    case 3:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8869; /* aarch64_sve_uzp2qvnx2di */

    case 4:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8875; /* aarch64_sve_uzp2qvnx8bf */

    case 5:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8881; /* aarch64_sve_uzp2qvnx8hf */

    case 6:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8887; /* aarch64_sve_uzp2qvnx4sf */

    case 7:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8893; /* aarch64_sve_uzp2qvnx2df */

    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 (pattern113 (x1))
    {
    case 0:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8850; /* aarch64_sve_uzp1qvnx16qi */

    case 1:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8856; /* aarch64_sve_uzp1qvnx8hi */

    case 2:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8862; /* aarch64_sve_uzp1qvnx4si */

    case 3:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8868; /* aarch64_sve_uzp1qvnx2di */

    case 4:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8874; /* aarch64_sve_uzp1qvnx8bf */

    case 5:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8880; /* aarch64_sve_uzp1qvnx8hf */

    case 6:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8886; /* aarch64_sve_uzp1qvnx4sf */

    case 7:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8892; /* aarch64_sve_uzp1qvnx2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern113 (x1))
    {
    case 0:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8849; /* aarch64_sve_trn2qvnx16qi */

    case 1:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8855; /* aarch64_sve_trn2qvnx8hi */

    case 2:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8861; /* aarch64_sve_trn2qvnx4si */

    case 3:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8867; /* aarch64_sve_trn2qvnx2di */

    case 4:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8873; /* aarch64_sve_trn2qvnx8bf */

    case 5:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8879; /* aarch64_sve_trn2qvnx8hf */

    case 6:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8885; /* aarch64_sve_trn2qvnx4sf */

    case 7:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8891; /* aarch64_sve_trn2qvnx2df */

    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 (pattern113 (x1))
    {
    case 0:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8848; /* aarch64_sve_trn1qvnx16qi */

    case 1:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8854; /* aarch64_sve_trn1qvnx8hi */

    case 2:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8860; /* aarch64_sve_trn1qvnx4si */

    case 3:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8866; /* aarch64_sve_trn1qvnx2di */

    case 4:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8872; /* aarch64_sve_trn1qvnx8bf */

    case 5:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8878; /* aarch64_sve_trn1qvnx8hf */

    case 6:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8884; /* aarch64_sve_trn1qvnx4sf */

    case 7:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8890; /* aarch64_sve_trn1qvnx2df */

    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 (pattern113 (x1))
    {
    case 0:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8847; /* aarch64_sve_zip2qvnx16qi */

    case 1:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8853; /* aarch64_sve_zip2qvnx8hi */

    case 2:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8859; /* aarch64_sve_zip2qvnx4si */

    case 3:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8865; /* aarch64_sve_zip2qvnx2di */

    case 4:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8871; /* aarch64_sve_zip2qvnx8bf */

    case 5:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8877; /* aarch64_sve_zip2qvnx8hf */

    case 6:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8883; /* aarch64_sve_zip2qvnx4sf */

    case 7:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8889; /* aarch64_sve_zip2qvnx2df */

    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 (pattern113 (x1))
    {
    case 0:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8846; /* aarch64_sve_zip1qvnx16qi */

    case 1:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8852; /* aarch64_sve_zip1qvnx8hi */

    case 2:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8858; /* aarch64_sve_zip1qvnx4si */

    case 3:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8864; /* aarch64_sve_zip1qvnx2di */

    case 4:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8870; /* aarch64_sve_zip1qvnx8bf */

    case 5:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8876; /* aarch64_sve_zip1qvnx8hf */

    case 6:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8882; /* aarch64_sve_zip1qvnx4sf */

    case 7:
      if (!
#line 8801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_F64MM))
        return -1;
      return 8888; /* aarch64_sve_zip1qvnx2df */

    default:
      return -1;
    }
}

static int
recog_129 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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 (pattern503 (x3, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 8691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8674; /* aarch64_sve_compactvnx4si */

    case E_VNx2DImode:
      if (pattern503 (x3, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 8691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8675; /* aarch64_sve_compactvnx2di */

    case E_VNx4SFmode:
      if (pattern503 (x3, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 8691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8676; /* aarch64_sve_compactvnx4sf */

    case E_VNx2DFmode:
      if (pattern503 (x3, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 8691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8677; /* aarch64_sve_compactvnx2df */

    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 (pattern106 (x1))
    {
    case 0:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5319; /* extract_last_vnx16qi */

    case 1:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5321; /* extract_last_vnx8hi */

    case 2:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5323; /* extract_last_vnx4si */

    case 3:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5325; /* extract_last_vnx2di */

    case 4:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5327; /* extract_last_vnx8bf */

    case 5:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5329; /* extract_last_vnx8hf */

    case 6:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5331; /* extract_last_vnx4sf */

    case 7:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5333; /* extract_last_vnx2df */

    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 (pattern106 (x1))
    {
    case 0:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5318; /* extract_after_last_vnx16qi */

    case 1:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5320; /* extract_after_last_vnx8hi */

    case 2:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5322; /* extract_after_last_vnx4si */

    case 3:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5324; /* extract_after_last_vnx2di */

    case 4:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5326; /* extract_after_last_vnx8bf */

    case 5:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5328; /* extract_after_last_vnx8hf */

    case 6:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5330; /* extract_after_last_vnx4sf */

    case 7:
      if (!
#line 2885 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5332; /* extract_after_last_vnx2df */

    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 (pattern101 (x1))
    {
    case 0:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3230; /* aarch64_srshr_nv8qi */

    case 1:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3232; /* aarch64_srshr_nv16qi */

    case 2:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3234; /* aarch64_srshr_nv4hi */

    case 3:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3236; /* aarch64_srshr_nv8hi */

    case 4:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3238; /* aarch64_srshr_nv2si */

    case 5:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3240; /* aarch64_srshr_nv4si */

    case 6:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3242; /* aarch64_srshr_nv2di */

    case 7:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3244; /* aarch64_srshr_ndi */

    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 (pattern101 (x1))
    {
    case 0:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3231; /* aarch64_urshr_nv8qi */

    case 1:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3233; /* aarch64_urshr_nv16qi */

    case 2:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3235; /* aarch64_urshr_nv4hi */

    case 3:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3237; /* aarch64_urshr_nv8hi */

    case 4:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3239; /* aarch64_urshr_nv2si */

    case 5:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3241; /* aarch64_urshr_nv4si */

    case 6:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3243; /* aarch64_urshr_nv2di */

    case 7:
      if (!
#line 6338 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3245; /* aarch64_urshr_ndi */

    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 (pattern90 (x1))
    {
    case 0:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3133; /* aarch64_urshlv8qi */

    case 1:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3137; /* aarch64_urshlv16qi */

    case 2:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3141; /* aarch64_urshlv4hi */

    case 3:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3145; /* aarch64_urshlv8hi */

    case 4:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3149; /* aarch64_urshlv2si */

    case 5:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3153; /* aarch64_urshlv4si */

    case 6:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3157; /* aarch64_urshlv2di */

    case 7:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3161; /* aarch64_urshldi */

    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 (pattern90 (x1))
    {
    case 0:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3131; /* aarch64_ushlv8qi */

    case 1:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3135; /* aarch64_ushlv16qi */

    case 2:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3139; /* aarch64_ushlv4hi */

    case 3:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3143; /* aarch64_ushlv8hi */

    case 4:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3147; /* aarch64_ushlv2si */

    case 5:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3151; /* aarch64_ushlv4si */

    case 6:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3155; /* aarch64_ushlv2di */

    case 7:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3159; /* aarch64_ushldi */

    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 (pattern90 (x1))
    {
    case 0:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3132; /* aarch64_srshlv8qi */

    case 1:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3136; /* aarch64_srshlv16qi */

    case 2:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3140; /* aarch64_srshlv4hi */

    case 3:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3144; /* aarch64_srshlv8hi */

    case 4:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3148; /* aarch64_srshlv2si */

    case 5:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3152; /* aarch64_srshlv4si */

    case 6:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3156; /* aarch64_srshlv2di */

    case 7:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3160; /* aarch64_srshldi */

    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 (pattern90 (x1))
    {
    case 0:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3130; /* aarch64_sshlv8qi */

    case 1:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3134; /* aarch64_sshlv16qi */

    case 2:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3138; /* aarch64_sshlv4hi */

    case 3:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3142; /* aarch64_sshlv8hi */

    case 4:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3146; /* aarch64_sshlv2si */

    case 5:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3150; /* aarch64_sshlv4si */

    case 6:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3154; /* aarch64_sshlv2di */

    case 7:
      if (!
#line 6210 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3158; /* aarch64_sshldi */

    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 (pattern82 (x1))
    {
    case 0:
      if (!(
#line 3416 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2455; /* aarch64_faddpv4hf */

    case 1:
      if (!(
#line 3416 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2456; /* aarch64_faddpv8hf */

    case 2:
      if (!
#line 3416 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2457; /* aarch64_faddpv2sf */

    case 3:
      if (!
#line 3416 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2458; /* aarch64_faddpv4sf */

    case 4:
      if (!
#line 3416 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2459; /* aarch64_faddpv2df */

    case 5:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8648; /* aarch64_pred_reduc_plus_vnx8hf */

    case 6:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8653; /* aarch64_pred_reduc_plus_vnx4sf */

    case 7:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8658; /* aarch64_pred_reduc_plus_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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern82 (x1))
    {
    case 0:
      if (!(
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1980; /* aarch64_sminpv4hf */

    case 1:
      if (!(
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1984; /* aarch64_sminpv8hf */

    case 2:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1988; /* aarch64_sminpv2sf */

    case 3:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1992; /* aarch64_sminpv4sf */

    case 4:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1996; /* aarch64_sminpv2df */

    case 5:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8652; /* aarch64_pred_reduc_smin_vnx8hf */

    case 6:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8657; /* aarch64_pred_reduc_smin_vnx4sf */

    case 7:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8662; /* aarch64_pred_reduc_smin_vnx2df */

    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 (pattern82 (x1))
    {
    case 0:
      if (!(
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1978; /* aarch64_smin_nanpv4hf */

    case 1:
      if (!(
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1982; /* aarch64_smin_nanpv8hf */

    case 2:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1986; /* aarch64_smin_nanpv2sf */

    case 3:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1990; /* aarch64_smin_nanpv4sf */

    case 4:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1994; /* aarch64_smin_nanpv2df */

    case 5:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8651; /* aarch64_pred_reduc_smin_nan_vnx8hf */

    case 6:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8656; /* aarch64_pred_reduc_smin_nan_vnx4sf */

    case 7:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8661; /* aarch64_pred_reduc_smin_nan_vnx2df */

    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 (pattern82 (x1))
    {
    case 0:
      if (!(
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1979; /* aarch64_smaxpv4hf */

    case 1:
      if (!(
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1983; /* aarch64_smaxpv8hf */

    case 2:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1987; /* aarch64_smaxpv2sf */

    case 3:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1991; /* aarch64_smaxpv4sf */

    case 4:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1995; /* aarch64_smaxpv2df */

    case 5:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8650; /* aarch64_pred_reduc_smax_vnx8hf */

    case 6:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8655; /* aarch64_pred_reduc_smax_vnx4sf */

    case 7:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8660; /* aarch64_pred_reduc_smax_vnx2df */

    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 (pattern82 (x1))
    {
    case 0:
      if (!(
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1977; /* aarch64_smax_nanpv4hf */

    case 1:
      if (!(
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1981; /* aarch64_smax_nanpv8hf */

    case 2:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1985; /* aarch64_smax_nanpv2sf */

    case 3:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1989; /* aarch64_smax_nanpv4sf */

    case 4:
      if (!
#line 1594 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1993; /* aarch64_smax_nanpv2df */

    case 5:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8649; /* aarch64_pred_reduc_smax_nan_vnx8hf */

    case 6:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8654; /* aarch64_pred_reduc_smax_nan_vnx4sf */

    case 7:
      if (!
#line 8606 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8659; /* aarch64_pred_reduc_smax_nan_vnx2df */

    default:
      return -1;
    }
}

static int
recog_143 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  int res ATTRIBUTE_UNUSED;
  if (pnum_clobbers == NULL
      || pattern43 (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 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
        return -1;
      *pnum_clobbers = 2;
      return 1163; /* stack_protect_test_si */

    case E_DImode:
      if (!memory_operand (operands[0], E_DImode)
          || !memory_operand (operands[1], E_DImode)
          || !
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
        return -1;
      *pnum_clobbers = 2;
      return 1164; /* stack_protect_test_di */

    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 (pattern67 (x1))
    {
    case 0:
      if (!(
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 1091; /* fminhf3 */

    case 1:
      if (!
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1095; /* fminsf3 */

    case 2:
      if (!
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1099; /* fmindf3 */

    case 3:
      if (!(
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2438; /* fminv4hf3 */

    case 4:
      if (!(
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2442; /* fminv8hf3 */

    case 5:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2446; /* fminv2sf3 */

    case 6:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2450; /* fminv4sf3 */

    case 7:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2454; /* fminv2df3 */

    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 (pattern67 (x1))
    {
    case 0:
      if (!(
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 1090; /* fmaxhf3 */

    case 1:
      if (!
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1094; /* fmaxsf3 */

    case 2:
      if (!
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1098; /* fmaxdf3 */

    case 3:
      if (!(
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2437; /* fmaxv4hf3 */

    case 4:
      if (!(
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2441; /* fmaxv8hf3 */

    case 5:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2445; /* fmaxv2sf3 */

    case 6:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2449; /* fmaxv4sf3 */

    case 7:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2453; /* fmaxv2df3 */

    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 (pattern67 (x1))
    {
    case 0:
      if (!(
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 1089; /* fmin_nanhf3 */

    case 1:
      if (!
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1093; /* fmin_nansf3 */

    case 2:
      if (!
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1097; /* fmin_nandf3 */

    case 3:
      if (!(
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2436; /* fmin_nanv4hf3 */

    case 4:
      if (!(
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2440; /* fmin_nanv8hf3 */

    case 5:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2444; /* fmin_nanv2sf3 */

    case 6:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2448; /* fmin_nanv4sf3 */

    case 7:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2452; /* fmin_nanv2df3 */

    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 (pattern67 (x1))
    {
    case 0:
      if (!(
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 1088; /* fmax_nanhf3 */

    case 1:
      if (!
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1092; /* fmax_nansf3 */

    case 2:
      if (!
#line 6822 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1096; /* fmax_nandf3 */

    case 3:
      if (!(
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2435; /* fmax_nanv4hf3 */

    case 4:
      if (!(
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2439; /* fmax_nanv8hf3 */

    case 5:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2443; /* fmax_nanv2sf3 */

    case 6:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2447; /* fmax_nanv4sf3 */

    case 7:
      if (!
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2451; /* fmax_nanv2df3 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern65 (x1))
    {
    case 0:
      return 1038; /* ucvtfsi3 */

    case 1:
      return 1040; /* ucvtfdi3 */

    case 2:
      if (!
#line 6648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1046; /* ucvtfsihf3 */

    case 3:
      if (!
#line 6648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1048; /* ucvtfdihf3 */

    case 4:
      if (!
#line 6668 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 1052; /* ucvtfhi3 */

    case 5:
      if (!(
#line 3179 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2402; /* ucvtfv4hi3 */

    case 6:
      if (!(
#line 3179 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2404; /* ucvtfv8hi3 */

    case 7:
      if (!
#line 3179 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2406; /* ucvtfv2si3 */

    case 8:
      if (!
#line 3179 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2408; /* ucvtfv4si3 */

    case 9:
      if (!
#line 3179 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2410; /* ucvtfv2di3 */

    default:
      return -1;
    }
}

static int
recog_149 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern65 (x1))
    {
    case 0:
      return 1037; /* scvtfsi3 */

    case 1:
      return 1039; /* scvtfdi3 */

    case 2:
      if (!
#line 6648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1045; /* scvtfsihf3 */

    case 3:
      if (!
#line 6648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1047; /* scvtfdihf3 */

    case 4:
      if (!
#line 6668 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 1051; /* scvtfhi3 */

    case 5:
      if (!(
#line 3179 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2401; /* scvtfv4hi3 */

    case 6:
      if (!(
#line 3179 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2403; /* scvtfv8hi3 */

    case 7:
      if (!
#line 3179 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2405; /* scvtfv2si3 */

    case 8:
      if (!
#line 3179 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2407; /* scvtfv4si3 */

    case 9:
      if (!
#line 3179 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2409; /* scvtfv2di3 */

    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 (pattern64 (x1))
    {
    case 0:
      return 1034; /* fcvtzusf3 */

    case 1:
      if (!
#line 6638 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1042; /* fcvtzuhfsi3 */

    case 2:
      return 1036; /* fcvtzudf3 */

    case 3:
      if (!
#line 6638 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1044; /* fcvtzuhfdi3 */

    case 4:
      if (!
#line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 1050; /* fcvtzuhf3 */

    case 5:
      if (!(
#line 3168 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2392; /* fcvtzuv4hf3 */

    case 6:
      if (!(
#line 3168 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2394; /* fcvtzuv8hf3 */

    case 7:
      if (!
#line 3168 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2396; /* fcvtzuv2sf3 */

    case 8:
      if (!
#line 3168 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2398; /* fcvtzuv4sf3 */

    case 9:
      if (!
#line 3168 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2400; /* fcvtzuv2df3 */

    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 (pattern64 (x1))
    {
    case 0:
      return 1033; /* fcvtzssf3 */

    case 1:
      if (!
#line 6638 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1041; /* fcvtzshfsi3 */

    case 2:
      return 1035; /* fcvtzsdf3 */

    case 3:
      if (!
#line 6638 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1043; /* fcvtzshfdi3 */

    case 4:
      if (!
#line 6658 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 1049; /* fcvtzshf3 */

    case 5:
      if (!(
#line 3168 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2391; /* fcvtzsv4hf3 */

    case 6:
      if (!(
#line 3168 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2393; /* fcvtzsv8hf3 */

    case 7:
      if (!
#line 3168 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2395; /* fcvtzsv2sf3 */

    case 8:
      if (!
#line 3168 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2397; /* fcvtzsv4sf3 */

    case 9:
      if (!
#line 3168 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2399; /* fcvtzsv2df3 */

    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;
  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
      || pattern70 (x1, E_VNx16BImode, 84) != 0
      || !
#line 1101 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
    return -1;
  return 4756; /* aarch64_update_ffr_for_load */
}

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 (pattern79 (x1))
    {
    case 0:
      if (!
#line 6760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3602; /* aarch64_addpv8qi */

    case 1:
      if (!
#line 6760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3603; /* aarch64_addpv16qi */

    case 2:
      if (!
#line 6760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3604; /* aarch64_addpv4hi */

    case 3:
      if (!
#line 6760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3605; /* aarch64_addpv8hi */

    case 4:
      if (!
#line 6760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3606; /* aarch64_addpv2si */

    case 5:
      if (!
#line 6760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3607; /* aarch64_addpv4si */

    case 6:
      if (!
#line 6760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3608; /* aarch64_addpv2di */

    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 (pattern79 (x1))
    {
    case 0:
      if (!
#line 1209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1880; /* aarch64_simd_reg_shlv8qi_signed */

    case 1:
      if (!
#line 1209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1881; /* aarch64_simd_reg_shlv16qi_signed */

    case 2:
      if (!
#line 1209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1882; /* aarch64_simd_reg_shlv4hi_signed */

    case 3:
      if (!
#line 1209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1883; /* aarch64_simd_reg_shlv8hi_signed */

    case 4:
      if (!
#line 1209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1884; /* aarch64_simd_reg_shlv2si_signed */

    case 5:
      if (!
#line 1209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1885; /* aarch64_simd_reg_shlv4si_signed */

    case 6:
      if (!
#line 1209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1886; /* aarch64_simd_reg_shlv2di_signed */

    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 (pattern79 (x1))
    {
    case 0:
      if (!
#line 1199 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1873; /* aarch64_simd_reg_shlv8qi_unsigned */

    case 1:
      if (!
#line 1199 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1874; /* aarch64_simd_reg_shlv16qi_unsigned */

    case 2:
      if (!
#line 1199 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1875; /* aarch64_simd_reg_shlv4hi_unsigned */

    case 3:
      if (!
#line 1199 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1876; /* aarch64_simd_reg_shlv8hi_unsigned */

    case 4:
      if (!
#line 1199 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1877; /* aarch64_simd_reg_shlv2si_unsigned */

    case 5:
      if (!
#line 1199 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1878; /* aarch64_simd_reg_shlv4si_unsigned */

    case 6:
      if (!
#line 1199 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1879; /* aarch64_simd_reg_shlv2di_unsigned */

    default:
      return -1;
    }
}

static int
recog_156 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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 (pattern66 (x3, E_V8QImode) != 0
          || !
#line 4901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2826; /* aarch64_pmulv8qi */

    case E_V16QImode:
      if (pattern66 (x3, E_V16QImode) != 0
          || !
#line 4901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2827; /* aarch64_pmulv16qi */

    case E_VNx16QImode:
      if (pattern66 (x3, E_VNx16QImode) != 0
          || !
#line 2302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10049; /* aarch64_sve2_pmulvnx16qi */

    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 (pattern83 (x1))
    {
    case 0:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2744; /* aarch64_uhsubv8qi */

    case 1:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2750; /* aarch64_uhsubv16qi */

    case 2:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2756; /* aarch64_uhsubv4hi */

    case 3:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2762; /* aarch64_uhsubv8hi */

    case 4:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2768; /* aarch64_uhsubv2si */

    case 5:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2774; /* aarch64_uhsubv4si */

    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 (pattern83 (x1))
    {
    case 0:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2743; /* aarch64_shsubv8qi */

    case 1:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2749; /* aarch64_shsubv16qi */

    case 2:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2755; /* aarch64_shsubv4hi */

    case 3:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2761; /* aarch64_shsubv8hi */

    case 4:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2767; /* aarch64_shsubv2si */

    case 5:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2773; /* aarch64_shsubv4si */

    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 (pattern83 (x1))
    {
    case 0:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2742; /* aarch64_urhaddv8qi */

    case 1:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2748; /* aarch64_urhaddv16qi */

    case 2:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2754; /* aarch64_urhaddv4hi */

    case 3:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2760; /* aarch64_urhaddv8hi */

    case 4:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2766; /* aarch64_urhaddv2si */

    case 5:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2772; /* aarch64_urhaddv4si */

    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 (pattern83 (x1))
    {
    case 0:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2741; /* aarch64_srhaddv8qi */

    case 1:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2747; /* aarch64_srhaddv16qi */

    case 2:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2753; /* aarch64_srhaddv4hi */

    case 3:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2759; /* aarch64_srhaddv8hi */

    case 4:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2765; /* aarch64_srhaddv2si */

    case 5:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2771; /* aarch64_srhaddv4si */

    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 (pattern83 (x1))
    {
    case 0:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2740; /* aarch64_uhaddv8qi */

    case 1:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2746; /* aarch64_uhaddv16qi */

    case 2:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2752; /* aarch64_uhaddv4hi */

    case 3:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2758; /* aarch64_uhaddv8hi */

    case 4:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2764; /* aarch64_uhaddv2si */

    case 5:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2770; /* aarch64_uhaddv4si */

    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 (pattern83 (x1))
    {
    case 0:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2739; /* aarch64_shaddv8qi */

    case 1:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2745; /* aarch64_shaddv16qi */

    case 2:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2751; /* aarch64_shaddv4hi */

    case 3:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2757; /* aarch64_shaddv8hi */

    case 4:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2763; /* aarch64_shaddv2si */

    case 5:
      if (!
#line 4774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2769; /* aarch64_shaddv4si */

    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 (pattern78 (x1))
    {
    case 0:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1734; /* aarch64_uadalpv8qi */

    case 1:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1736; /* aarch64_uadalpv16qi */

    case 2:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1738; /* aarch64_uadalpv4hi */

    case 3:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1740; /* aarch64_uadalpv8hi */

    case 4:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1742; /* aarch64_uadalpv4si */

    case 5:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1744; /* aarch64_uadalpv2si */

    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 (pattern78 (x1))
    {
    case 0:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1733; /* aarch64_sadalpv8qi */

    case 1:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1735; /* aarch64_sadalpv16qi */

    case 2:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1737; /* aarch64_sadalpv4hi */

    case 3:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1739; /* aarch64_sadalpv8hi */

    case 4:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1741; /* aarch64_sadalpv4si */

    case 5:
      if (!
#line 922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1743; /* aarch64_sadalpv2si */

    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 (pattern118 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9649; /* aarch64_sve_umulltvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9670; /* aarch64_sve_umulltvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9691; /* aarch64_sve_umulltvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9699; /* aarch64_sve_umullt_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9705; /* aarch64_sve_umullt_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 (pattern118 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9648; /* aarch64_sve_umullbvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9669; /* aarch64_sve_umullbvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9690; /* aarch64_sve_umullbvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9698; /* aarch64_sve_umullb_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9704; /* aarch64_sve_umullb_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 (pattern118 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9639; /* aarch64_sve_sqdmulltvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9660; /* aarch64_sve_sqdmulltvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9681; /* aarch64_sve_sqdmulltvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9697; /* aarch64_sve_sqdmullt_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9703; /* aarch64_sve_sqdmullt_lane_vnx2di */

    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 (pattern118 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9638; /* aarch64_sve_sqdmullbvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9659; /* aarch64_sve_sqdmullbvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9680; /* aarch64_sve_sqdmullbvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9696; /* aarch64_sve_sqdmullb_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9702; /* aarch64_sve_sqdmullb_lane_vnx2di */

    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 (pattern118 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9637; /* aarch64_sve_smulltvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9658; /* aarch64_sve_smulltvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9679; /* aarch64_sve_smulltvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9695; /* aarch64_sve_smullt_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9701; /* aarch64_sve_smullt_lane_vnx2di */

    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 (pattern118 (x1))
    {
    case 0:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9636; /* aarch64_sve_smullbvnx8hi */

    case 1:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9657; /* aarch64_sve_smullbvnx4si */

    case 2:
      if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9678; /* aarch64_sve_smullbvnx2di */

    case 3:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9694; /* aarch64_sve_smullb_lane_vnx4si */

    case 4:
      if (!
#line 1301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9700; /* aarch64_sve_smullb_lane_vnx2di */

    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 (pattern73 (x1))
    {
    case 0:
      if (!(
#line 504 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1547; /* aarch64_fcadd270v4hf */

    case 1:
      if (!(
#line 504 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1549; /* aarch64_fcadd270v8hf */

    case 2:
      if (!
#line 504 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1551; /* aarch64_fcadd270v2sf */

    case 3:
      if (!
#line 504 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1553; /* aarch64_fcadd270v4sf */

    case 4:
      if (!
#line 504 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1555; /* aarch64_fcadd270v2df */

    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 (pattern73 (x1))
    {
    case 0:
      if (!(
#line 504 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1546; /* aarch64_fcadd90v4hf */

    case 1:
      if (!(
#line 504 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1548; /* aarch64_fcadd90v8hf */

    case 2:
      if (!
#line 504 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1550; /* aarch64_fcadd90v2sf */

    case 3:
      if (!
#line 504 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1552; /* aarch64_fcadd90v4sf */

    case 4:
      if (!
#line 504 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_COMPLEX))
        return -1;
      return 1554; /* aarch64_fcadd90v2df */

    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 (pattern125 (x1))
    {
    case 0:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10077; /* aarch64_sve_bextvnx16qi */

    case 1:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10080; /* aarch64_sve_bextvnx8hi */

    case 2:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10083; /* aarch64_sve_bextvnx4si */

    case 3:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10086; /* aarch64_sve_bextvnx2di */

    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 (pattern125 (x1))
    {
    case 0:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10078; /* aarch64_sve_bgrpvnx16qi */

    case 1:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10081; /* aarch64_sve_bgrpvnx8hi */

    case 2:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10084; /* aarch64_sve_bgrpvnx4si */

    case 3:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10087; /* aarch64_sve_bgrpvnx2di */

    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 (pattern125 (x1))
    {
    case 0:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10076; /* aarch64_sve_bdepvnx16qi */

    case 1:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10079; /* aarch64_sve_bdepvnx8hi */

    case 2:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10082; /* aarch64_sve_bdepvnx4si */

    case 3:
      if (!
#line 2381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_BITPERM))
        return -1;
      return 10085; /* aarch64_sve_bdepvnx2di */

    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 (pattern125 (x1))
    {
    case 0:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9947; /* aarch64_sve_sqcadd270vnx16qi */

    case 1:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9951; /* aarch64_sve_sqcadd270vnx8hi */

    case 2:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9955; /* aarch64_sve_sqcadd270vnx4si */

    case 3:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9959; /* aarch64_sve_sqcadd270vnx2di */

    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 (pattern125 (x1))
    {
    case 0:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9946; /* aarch64_sve_sqcadd90vnx16qi */

    case 1:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9950; /* aarch64_sve_sqcadd90vnx8hi */

    case 2:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9954; /* aarch64_sve_sqcadd90vnx4si */

    case 3:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9958; /* aarch64_sve_sqcadd90vnx2di */

    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 (pattern125 (x1))
    {
    case 0:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9945; /* aarch64_sve_cadd270vnx16qi */

    case 1:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9949; /* aarch64_sve_cadd270vnx8hi */

    case 2:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9953; /* aarch64_sve_cadd270vnx4si */

    case 3:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9957; /* aarch64_sve_cadd270vnx2di */

    default:
      return -1;
    }
}

static int
recog_179 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern125 (x1))
    {
    case 0:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9944; /* aarch64_sve_cadd90vnx16qi */

    case 1:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9948; /* aarch64_sve_cadd90vnx8hi */

    case 2:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9952; /* aarch64_sve_cadd90vnx4si */

    case 3:
      if (!
#line 1811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9956; /* aarch64_sve_cadd90vnx2di */

    default:
      return -1;
    }
}

static int
recog_180 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern112 (x1))
    {
    case 0:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8626; /* aarch64_pred_reduc_xor_vnx16qi */

    case 1:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8633; /* aarch64_pred_reduc_xor_vnx8hi */

    case 2:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8640; /* aarch64_pred_reduc_xor_vnx4si */

    case 3:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8647; /* aarch64_pred_reduc_xor_vnx2di */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern112 (x1))
    {
    case 0:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8621; /* aarch64_pred_reduc_ior_vnx16qi */

    case 1:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8628; /* aarch64_pred_reduc_ior_vnx8hi */

    case 2:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8635; /* aarch64_pred_reduc_ior_vnx4si */

    case 3:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8642; /* aarch64_pred_reduc_ior_vnx2di */

    default:
      return -1;
    }
}

static int
recog_182 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern112 (x1))
    {
    case 0:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8620; /* aarch64_pred_reduc_and_vnx16qi */

    case 1:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8627; /* aarch64_pred_reduc_and_vnx8hi */

    case 2:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8634; /* aarch64_pred_reduc_and_vnx4si */

    case 3:
      if (!
#line 8562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8641; /* aarch64_pred_reduc_and_vnx2di */

    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;
  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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3855; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3856; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3857; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3858; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3859; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3860; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3861; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3862; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3863; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3864; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3865; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3866; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3867; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3868; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3869; /* 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 7171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3870; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3871; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3872; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3873; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3874; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3875; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3876; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3877; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3878; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3879; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3880; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3881; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3882; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3883; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3884; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3885; /* 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 7191 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3886; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3987; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3988; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3989; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3990; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3991; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3992; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3993; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3994; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3995; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3996; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3997; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3998; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3999; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4000; /* 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 7301 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4001; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4287; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4288; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4289; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4290; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4291; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4292; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4293; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4294; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4295; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4296; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4297; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4298; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4299; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4300; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4301; /* 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 8029 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4302; /* aarch64_simd_ld1v8bf_x2 */

    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;
  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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3887; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3888; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3889; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3890; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3891; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3892; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3893; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3894; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3895; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3896; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3897; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3898; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3899; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3900; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3901; /* 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 7211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3902; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3903; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3904; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3905; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3906; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3907; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3908; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3909; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3910; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3911; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3912; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3913; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3914; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3915; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3916; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3917; /* 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 7231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3918; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3919; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3920; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3921; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3922; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3923; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3924; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3925; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3926; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3927; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3928; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3929; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3930; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3931; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3932; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3933; /* 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 7251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3934; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4002; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4003; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4004; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4005; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4006; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4007; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4008; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4009; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4010; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4011; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4012; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4013; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4014; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4015; /* 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 7310 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4016; /* aarch64_be_st1di */

    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_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_SImode))
        return -1;
      return 882; /* 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 883; /* aarch64_rev16di */

    case E_VNx16QImode:
      if (!register_operand (operands[0], E_VNx16QImode)
          || GET_MODE (x3) != E_VNx16QImode
          || !register_operand (operands[1], E_VNx16QImode)
          || !
#line 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8705; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8706; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8707; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8708; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8709; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8710; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8711; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8712; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8713; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8714; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8715; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8716; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8717; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8718; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8719; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8720; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8721; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8722; /* 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 8749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8723; /* 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 8836 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8913; /* 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 8836 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8914; /* 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 8836 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8915; /* 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 8836 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8916; /* aarch64_sve_revvnx2bi */

    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;
  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 7057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3783; /* 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 7057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3784; /* 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 7057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3785; /* 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 7057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3786; /* 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 7057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3787; /* 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 7057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3788; /* 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 7057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3789; /* 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 7057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3790; /* 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 7929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4265; /* 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 7929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4266; /* 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 7929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4267; /* 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 7929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4268; /* 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 7929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4269; /* 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 7929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4270; /* 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 7939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4271; /* 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 7939 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4272; /* aarch64_st4df_dreg */

    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;
  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 6956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3719; /* 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 6956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3720; /* 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 6956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3721; /* 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 6956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3722; /* 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 6956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3723; /* 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 6956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3724; /* 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 6956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3725; /* 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 6956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3726; /* 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 7909 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4257; /* 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 7909 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4258; /* 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 7909 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4259; /* 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 7909 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4260; /* 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 7909 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4261; /* 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 7909 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4262; /* 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 7919 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4263; /* 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 7919 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4264; /* aarch64_st3df_dreg */

    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;
  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 6857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3655; /* 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 6857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3656; /* 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 6857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3657; /* 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 6857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3658; /* 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 6857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3659; /* 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 6857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3660; /* 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 6857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3661; /* 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 6857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3662; /* 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 7889 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4249; /* 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 7889 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4250; /* 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 7889 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4251; /* 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 7889 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4252; /* 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 7889 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4253; /* 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 7889 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4254; /* 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 7899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4255; /* 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 7899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4256; /* aarch64_st2df_dreg */

    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 780 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1656; /* aarch64_rsqrtev4hf */

    case E_V8HFmode:
      if (!register_operand (operands[0], E_V8HFmode)
          || GET_MODE (x3) != E_V8HFmode
          || !register_operand (operands[1], E_V8HFmode)
          || !(
#line 780 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1657; /* aarch64_rsqrtev8hf */

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode)
          || GET_MODE (x3) != E_V2SFmode
          || !register_operand (operands[1], E_V2SFmode)
          || !
#line 780 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1658; /* aarch64_rsqrtev2sf */

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode)
          || GET_MODE (x3) != E_V4SFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 780 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1659; /* aarch64_rsqrtev4sf */

    case E_V2DFmode:
      if (!register_operand (operands[0], E_V2DFmode)
          || GET_MODE (x3) != E_V2DFmode
          || !register_operand (operands[1], E_V2DFmode)
          || !
#line 780 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1660; /* aarch64_rsqrtev2df */

    case E_HFmode:
      if (!register_operand (operands[0], E_HFmode)
          || GET_MODE (x3) != E_HFmode
          || !register_operand (operands[1], E_HFmode)
          || !(
#line 780 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 1661; /* aarch64_rsqrtehf */

    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 780 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1662; /* aarch64_rsqrtesf */

    case E_DFmode:
      if (!register_operand (operands[0], E_DFmode)
          || GET_MODE (x3) != E_DFmode
          || !register_operand (operands[1], E_DFmode)
          || !
#line 780 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1663; /* aarch64_rsqrtedf */

    case E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode)
          || GET_MODE (x3) != E_V2SImode
          || !register_operand (operands[1], E_V2SImode)
          || !
#line 807 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1672; /* aarch64_ursqrtev2si */

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x3) != E_V4SImode
          || !register_operand (operands[1], E_V4SImode)
          || !
#line 807 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1673; /* aarch64_ursqrtev4si */

    case E_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode)
          || GET_MODE (x3) != E_VNx8HFmode
          || !register_operand (operands[1], E_VNx8HFmode)
          || !
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5707; /* 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 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5709; /* 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 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5711; /* aarch64_sve_frsqrtevnx2df */

    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;
  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 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3751; /* aarch64_simd_ld4rv8qi */

    case E_V4x4HImode:
      if (!register_operand (operands[0], E_V4x4HImode)
          || GET_MODE (x3) != E_V4x4HImode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3752; /* aarch64_simd_ld4rv4hi */

    case E_V4x2SImode:
      if (!register_operand (operands[0], E_V4x2SImode)
          || GET_MODE (x3) != E_V4x2SImode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3753; /* aarch64_simd_ld4rv2si */

    case E_V4x1DImode:
      if (!register_operand (operands[0], E_V4x1DImode)
          || GET_MODE (x3) != E_V4x1DImode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3754; /* aarch64_simd_ld4rdi */

    case E_V4x4HFmode:
      if (!register_operand (operands[0], E_V4x4HFmode)
          || GET_MODE (x3) != E_V4x4HFmode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3755; /* aarch64_simd_ld4rv4hf */

    case E_V4x2SFmode:
      if (!register_operand (operands[0], E_V4x2SFmode)
          || GET_MODE (x3) != E_V4x2SFmode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3756; /* aarch64_simd_ld4rv2sf */

    case E_V4x1DFmode:
      if (!register_operand (operands[0], E_V4x1DFmode)
          || GET_MODE (x3) != E_V4x1DFmode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3757; /* aarch64_simd_ld4rdf */

    case E_V4x4BFmode:
      if (!register_operand (operands[0], E_V4x4BFmode)
          || GET_MODE (x3) != E_V4x4BFmode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3758; /* aarch64_simd_ld4rv4bf */

    case E_V4x16QImode:
      if (!register_operand (operands[0], E_V4x16QImode)
          || GET_MODE (x3) != E_V4x16QImode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3759; /* aarch64_simd_ld4rv16qi */

    case E_V4x8HImode:
      if (!register_operand (operands[0], E_V4x8HImode)
          || GET_MODE (x3) != E_V4x8HImode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3760; /* aarch64_simd_ld4rv8hi */

    case E_V4x4SImode:
      if (!register_operand (operands[0], E_V4x4SImode)
          || GET_MODE (x3) != E_V4x4SImode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3761; /* aarch64_simd_ld4rv4si */

    case E_V4x2DImode:
      if (!register_operand (operands[0], E_V4x2DImode)
          || GET_MODE (x3) != E_V4x2DImode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3762; /* aarch64_simd_ld4rv2di */

    case E_V4x8HFmode:
      if (!register_operand (operands[0], E_V4x8HFmode)
          || GET_MODE (x3) != E_V4x8HFmode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3763; /* aarch64_simd_ld4rv8hf */

    case E_V4x4SFmode:
      if (!register_operand (operands[0], E_V4x4SFmode)
          || GET_MODE (x3) != E_V4x4SFmode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3764; /* aarch64_simd_ld4rv4sf */

    case E_V4x2DFmode:
      if (!register_operand (operands[0], E_V4x2DFmode)
          || GET_MODE (x3) != E_V4x2DFmode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3765; /* aarch64_simd_ld4rv2df */

    case E_V4x8BFmode:
      if (!register_operand (operands[0], E_V4x8BFmode)
          || GET_MODE (x3) != E_V4x8BFmode
          || !
#line 7011 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3766; /* aarch64_simd_ld4rv8bf */

    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;
  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 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3687; /* aarch64_simd_ld3rv8qi */

    case E_V3x4HImode:
      if (!register_operand (operands[0], E_V3x4HImode)
          || GET_MODE (x3) != E_V3x4HImode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3688; /* aarch64_simd_ld3rv4hi */

    case E_V3x2SImode:
      if (!register_operand (operands[0], E_V3x2SImode)
          || GET_MODE (x3) != E_V3x2SImode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3689; /* aarch64_simd_ld3rv2si */

    case E_V3x1DImode:
      if (!register_operand (operands[0], E_V3x1DImode)
          || GET_MODE (x3) != E_V3x1DImode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3690; /* aarch64_simd_ld3rdi */

    case E_V3x4HFmode:
      if (!register_operand (operands[0], E_V3x4HFmode)
          || GET_MODE (x3) != E_V3x4HFmode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3691; /* aarch64_simd_ld3rv4hf */

    case E_V3x2SFmode:
      if (!register_operand (operands[0], E_V3x2SFmode)
          || GET_MODE (x3) != E_V3x2SFmode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3692; /* aarch64_simd_ld3rv2sf */

    case E_V3x1DFmode:
      if (!register_operand (operands[0], E_V3x1DFmode)
          || GET_MODE (x3) != E_V3x1DFmode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3693; /* aarch64_simd_ld3rdf */

    case E_V3x4BFmode:
      if (!register_operand (operands[0], E_V3x4BFmode)
          || GET_MODE (x3) != E_V3x4BFmode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3694; /* aarch64_simd_ld3rv4bf */

    case E_V3x16QImode:
      if (!register_operand (operands[0], E_V3x16QImode)
          || GET_MODE (x3) != E_V3x16QImode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3695; /* aarch64_simd_ld3rv16qi */

    case E_V3x8HImode:
      if (!register_operand (operands[0], E_V3x8HImode)
          || GET_MODE (x3) != E_V3x8HImode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3696; /* aarch64_simd_ld3rv8hi */

    case E_V3x4SImode:
      if (!register_operand (operands[0], E_V3x4SImode)
          || GET_MODE (x3) != E_V3x4SImode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3697; /* aarch64_simd_ld3rv4si */

    case E_V3x2DImode:
      if (!register_operand (operands[0], E_V3x2DImode)
          || GET_MODE (x3) != E_V3x2DImode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3698; /* aarch64_simd_ld3rv2di */

    case E_V3x8HFmode:
      if (!register_operand (operands[0], E_V3x8HFmode)
          || GET_MODE (x3) != E_V3x8HFmode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3699; /* aarch64_simd_ld3rv8hf */

    case E_V3x4SFmode:
      if (!register_operand (operands[0], E_V3x4SFmode)
          || GET_MODE (x3) != E_V3x4SFmode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3700; /* aarch64_simd_ld3rv4sf */

    case E_V3x2DFmode:
      if (!register_operand (operands[0], E_V3x2DFmode)
          || GET_MODE (x3) != E_V3x2DFmode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3701; /* aarch64_simd_ld3rv2df */

    case E_V3x8BFmode:
      if (!register_operand (operands[0], E_V3x8BFmode)
          || GET_MODE (x3) != E_V3x8BFmode
          || !
#line 6911 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3702; /* aarch64_simd_ld3rv8bf */

    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;
  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 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3623; /* aarch64_simd_ld2rv8qi */

    case E_V2x4HImode:
      if (!register_operand (operands[0], E_V2x4HImode)
          || GET_MODE (x3) != E_V2x4HImode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3624; /* aarch64_simd_ld2rv4hi */

    case E_V2x2SImode:
      if (!register_operand (operands[0], E_V2x2SImode)
          || GET_MODE (x3) != E_V2x2SImode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3625; /* aarch64_simd_ld2rv2si */

    case E_V2x1DImode:
      if (!register_operand (operands[0], E_V2x1DImode)
          || GET_MODE (x3) != E_V2x1DImode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3626; /* aarch64_simd_ld2rdi */

    case E_V2x4HFmode:
      if (!register_operand (operands[0], E_V2x4HFmode)
          || GET_MODE (x3) != E_V2x4HFmode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3627; /* aarch64_simd_ld2rv4hf */

    case E_V2x2SFmode:
      if (!register_operand (operands[0], E_V2x2SFmode)
          || GET_MODE (x3) != E_V2x2SFmode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3628; /* aarch64_simd_ld2rv2sf */

    case E_V2x1DFmode:
      if (!register_operand (operands[0], E_V2x1DFmode)
          || GET_MODE (x3) != E_V2x1DFmode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3629; /* aarch64_simd_ld2rdf */

    case E_V2x4BFmode:
      if (!register_operand (operands[0], E_V2x4BFmode)
          || GET_MODE (x3) != E_V2x4BFmode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3630; /* aarch64_simd_ld2rv4bf */

    case E_V2x16QImode:
      if (!register_operand (operands[0], E_V2x16QImode)
          || GET_MODE (x3) != E_V2x16QImode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3631; /* aarch64_simd_ld2rv16qi */

    case E_V2x8HImode:
      if (!register_operand (operands[0], E_V2x8HImode)
          || GET_MODE (x3) != E_V2x8HImode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3632; /* aarch64_simd_ld2rv8hi */

    case E_V2x4SImode:
      if (!register_operand (operands[0], E_V2x4SImode)
          || GET_MODE (x3) != E_V2x4SImode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3633; /* aarch64_simd_ld2rv4si */

    case E_V2x2DImode:
      if (!register_operand (operands[0], E_V2x2DImode)
          || GET_MODE (x3) != E_V2x2DImode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3634; /* aarch64_simd_ld2rv2di */

    case E_V2x8HFmode:
      if (!register_operand (operands[0], E_V2x8HFmode)
          || GET_MODE (x3) != E_V2x8HFmode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3635; /* aarch64_simd_ld2rv8hf */

    case E_V2x4SFmode:
      if (!register_operand (operands[0], E_V2x4SFmode)
          || GET_MODE (x3) != E_V2x4SFmode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3636; /* aarch64_simd_ld2rv4sf */

    case E_V2x2DFmode:
      if (!register_operand (operands[0], E_V2x2DFmode)
          || GET_MODE (x3) != E_V2x2DFmode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3637; /* aarch64_simd_ld2rv2df */

    case E_V2x8BFmode:
      if (!register_operand (operands[0], E_V2x8BFmode)
          || GET_MODE (x3) != E_V2x8BFmode
          || !
#line 6811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3638; /* aarch64_simd_ld2rv8bf */

    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_V4HFmode:
      if (!register_operand (operands[0], E_V4HFmode)
          || GET_MODE (x3) != E_V4HFmode
          || !register_operand (operands[1], E_V4HFmode)
          || !(
#line 8040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4303; /* aarch64_frecpev4hf */

    case E_V8HFmode:
      if (!register_operand (operands[0], E_V8HFmode)
          || GET_MODE (x3) != E_V8HFmode
          || !register_operand (operands[1], E_V8HFmode)
          || !(
#line 8040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4304; /* aarch64_frecpev8hf */

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode)
          || GET_MODE (x3) != E_V2SFmode
          || !register_operand (operands[1], E_V2SFmode)
          || !
#line 8040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4305; /* aarch64_frecpev2sf */

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode)
          || GET_MODE (x3) != E_V4SFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 8040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4306; /* aarch64_frecpev4sf */

    case E_V2DFmode:
      if (!register_operand (operands[0], E_V2DFmode)
          || GET_MODE (x3) != E_V2DFmode
          || !register_operand (operands[1], E_V2DFmode)
          || !
#line 8040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4307; /* aarch64_frecpev2df */

    case E_HFmode:
      if (!register_operand (operands[0], E_HFmode)
          || GET_MODE (x3) != E_HFmode
          || !register_operand (operands[1], E_HFmode)
          || !(
#line 8040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 4308; /* aarch64_frecpehf */

    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 8040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4309; /* aarch64_frecpesf */

    case E_DFmode:
      if (!register_operand (operands[0], E_DFmode)
          || GET_MODE (x3) != E_DFmode
          || !register_operand (operands[1], E_DFmode)
          || !
#line 8040 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4310; /* aarch64_frecpedf */

    case E_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode)
          || GET_MODE (x3) != E_VNx8HFmode
          || !register_operand (operands[1], E_VNx8HFmode)
          || !
#line 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5706; /* 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 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5708; /* 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 3404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5710; /* aarch64_sve_frecpevnx2df */

    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_V4x8QImode:
      if (!register_operand (operands[0], E_V4x8QImode)
          || GET_MODE (x3) != E_V4x8QImode
          || !aarch64_simd_struct_operand (operands[1], E_V4x8QImode)
          || !
#line 7637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4084; /* 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 7637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4085; /* 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 7637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4086; /* 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 7637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4087; /* 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 7637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4088; /* 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 7637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4089; /* 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 7647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4090; /* 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 7647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4091; /* aarch64_ld4df_dreg */

    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_V3x8QImode:
      if (!register_operand (operands[0], E_V3x8QImode)
          || GET_MODE (x3) != E_V3x8QImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x8QImode)
          || !
#line 7617 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4076; /* 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 7617 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4077; /* 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 7617 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4078; /* 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 7617 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4079; /* 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 7617 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4080; /* 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 7617 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4081; /* 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 7627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4082; /* 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 7627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4083; /* aarch64_ld3df_dreg */

    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_V2x8QImode:
      if (!register_operand (operands[0], E_V2x8QImode)
          || GET_MODE (x3) != E_V2x8QImode
          || !aarch64_simd_struct_operand (operands[1], E_V2x8QImode)
          || !
#line 7597 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4068; /* 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 7597 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4069; /* 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 7597 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4070; /* 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 7597 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4071; /* 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 7597 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4072; /* 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 7597 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4073; /* 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 7607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4074; /* 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 7607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4075; /* aarch64_ld2df_dreg */

    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];
  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 7001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3743; /* 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 7001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3744; /* 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 7001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3745; /* 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 7001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3746; /* 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 7001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3747; /* 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 7001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3748; /* 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 7001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3749; /* 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 7001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3750; /* aarch64_simd_ld4v8bf */

    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_V3x16QImode:
      if (!register_operand (operands[0], E_V3x16QImode)
          || GET_MODE (x3) != E_V3x16QImode
          || !aarch64_simd_struct_operand (operands[1], E_V3x16QImode)
          || !
#line 6901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3679; /* 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 6901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3680; /* 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 6901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3681; /* 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 6901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3682; /* 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 6901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3683; /* 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 6901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3684; /* 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 6901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3685; /* 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 6901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3686; /* aarch64_simd_ld3v8bf */

    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];
  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 6801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3615; /* 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 6801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3616; /* 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 6801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3617; /* 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 6801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3618; /* 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 6801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3619; /* 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 6801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3620; /* 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 6801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3621; /* 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 6801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3622; /* aarch64_simd_ld2v8bf */

    default:
      return -1;
    }
}

static int
recog_200 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  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 850 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1689; /* aarch64_absv8qi */

    case E_V16QImode:
      if (!register_operand (operands[0], E_V16QImode)
          || GET_MODE (x3) != E_V16QImode
          || !register_operand (operands[1], E_V16QImode)
          || !
#line 850 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1690; /* aarch64_absv16qi */

    case E_V4HImode:
      if (!register_operand (operands[0], E_V4HImode)
          || GET_MODE (x3) != E_V4HImode
          || !register_operand (operands[1], E_V4HImode)
          || !
#line 850 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1691; /* aarch64_absv4hi */

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode)
          || GET_MODE (x3) != E_V8HImode
          || !register_operand (operands[1], E_V8HImode)
          || !
#line 850 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1692; /* aarch64_absv8hi */

    case E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode)
          || GET_MODE (x3) != E_V2SImode
          || !register_operand (operands[1], E_V2SImode)
          || !
#line 850 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1693; /* aarch64_absv2si */

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x3) != E_V4SImode
          || !register_operand (operands[1], E_V4SImode)
          || !
#line 850 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1694; /* aarch64_absv4si */

    case E_V2DImode:
      if (!register_operand (operands[0], E_V2DImode)
          || GET_MODE (x3) != E_V2DImode
          || !register_operand (operands[1], E_V2DImode)
          || !
#line 850 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1695; /* aarch64_absv2di */

    case E_DImode:
      if (!register_operand (operands[0], E_DImode)
          || GET_MODE (x3) != E_DImode
          || !register_operand (operands[1], E_DImode)
          || !
#line 850 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1696; /* aarch64_absdi */

    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 (pattern145 (x1))
    {
    case 0:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4652; /* *aarch64_sve_reinterpretvnx16qi */

    case 1:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4653; /* *aarch64_sve_reinterpretvnx8qi */

    case 2:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4654; /* *aarch64_sve_reinterpretvnx4qi */

    case 3:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4655; /* *aarch64_sve_reinterpretvnx2qi */

    case 4:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4656; /* *aarch64_sve_reinterpretvnx8hi */

    case 5:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4657; /* *aarch64_sve_reinterpretvnx4hi */

    case 6:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4658; /* *aarch64_sve_reinterpretvnx2hi */

    case 7:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4659; /* *aarch64_sve_reinterpretvnx8hf */

    case 8:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4660; /* *aarch64_sve_reinterpretvnx4hf */

    case 9:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4661; /* *aarch64_sve_reinterpretvnx2hf */

    case 10:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4662; /* *aarch64_sve_reinterpretvnx8bf */

    case 11:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4663; /* *aarch64_sve_reinterpretvnx4bf */

    case 12:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4664; /* *aarch64_sve_reinterpretvnx2bf */

    case 13:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4665; /* *aarch64_sve_reinterpretvnx4si */

    case 14:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4666; /* *aarch64_sve_reinterpretvnx2si */

    case 15:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4667; /* *aarch64_sve_reinterpretvnx4sf */

    case 16:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4668; /* *aarch64_sve_reinterpretvnx2sf */

    case 17:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4669; /* *aarch64_sve_reinterpretvnx2di */

    case 18:
      if (!
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4670; /* *aarch64_sve_reinterpretvnx2df */

    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_V4BFmode:
      if (!register_operand (operands[0], E_V4BFmode)
          || GET_MODE (x3) != E_V4BFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 9151 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
        return -1;
      return 4416; /* aarch64_bfcvtnv4bf */

    case E_V8BFmode:
      if (!register_operand (operands[0], E_V8BFmode)
          || GET_MODE (x3) != E_V8BFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 9151 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
        return -1;
      return 4417; /* 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 9180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
            return -1;
          return 4420; /* aarch64_vbfcvtv4bf */

        case E_V8BFmode:
          if (!register_operand (operands[1], E_V8BFmode)
              || !
#line 9180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
            return -1;
          return 4421; /* aarch64_vbfcvtv8bf */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_203 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  int res ATTRIBUTE_UNUSED;
  switch (pattern140 (x1))
    {
    case 0:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4208; /* aarch64_rev32v8qi */

    case 1:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4211; /* aarch64_rev32v16qi */

    case 2:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4214; /* aarch64_rev32v4hi */

    case 3:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4217; /* aarch64_rev32v8hi */

    case 4:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4220; /* aarch64_rev32v2si */

    case 5:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4223; /* aarch64_rev32v4si */

    case 6:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4226; /* aarch64_rev32v2di */

    case 7:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4229; /* aarch64_rev32v4hf */

    case 8:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4232; /* aarch64_rev32v8hf */

    case 9:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4235; /* aarch64_rev32v4bf */

    case 10:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4238; /* aarch64_rev32v8bf */

    case 11:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4241; /* aarch64_rev32v2sf */

    case 12:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4244; /* aarch64_rev32v4sf */

    case 13:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4247; /* aarch64_rev32v2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern140 (x1))
    {
    case 0:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4209; /* aarch64_rev16v8qi */

    case 1:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4212; /* aarch64_rev16v16qi */

    case 2:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4215; /* aarch64_rev16v4hi */

    case 3:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4218; /* aarch64_rev16v8hi */

    case 4:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4221; /* aarch64_rev16v2si */

    case 5:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4224; /* aarch64_rev16v4si */

    case 6:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4227; /* aarch64_rev16v2di */

    case 7:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4230; /* aarch64_rev16v4hf */

    case 8:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4233; /* aarch64_rev16v8hf */

    case 9:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4236; /* aarch64_rev16v4bf */

    case 10:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4239; /* aarch64_rev16v8bf */

    case 11:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4242; /* aarch64_rev16v2sf */

    case 12:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4245; /* aarch64_rev16v4sf */

    case 13:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4248; /* aarch64_rev16v2df */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern140 (x1))
    {
    case 0:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4207; /* aarch64_rev64v8qi */

    case 1:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4210; /* aarch64_rev64v16qi */

    case 2:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4213; /* aarch64_rev64v4hi */

    case 3:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4216; /* aarch64_rev64v8hi */

    case 4:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4219; /* aarch64_rev64v2si */

    case 5:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4222; /* aarch64_rev64v4si */

    case 6:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4225; /* aarch64_rev64v2di */

    case 7:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4228; /* aarch64_rev64v4hf */

    case 8:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4231; /* aarch64_rev64v8hf */

    case 9:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4234; /* aarch64_rev64v4bf */

    case 10:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4237; /* aarch64_rev64v8bf */

    case 11:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4240; /* aarch64_rev64v2sf */

    case 12:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4243; /* aarch64_rev64v4sf */

    case 13:
      if (!
#line 7879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4246; /* aarch64_rev64v2df */

    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_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_SImode))
        return -1;
      return 727; /* 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 728; /* aarch64_rbitdi */

    case E_V8QImode:
      if (!register_operand (operands[0], E_V8QImode)
          || GET_MODE (x3) != E_V8QImode
          || !register_operand (operands[1], E_V8QImode)
          || !
#line 445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1544; /* aarch64_rbitv8qi */

    case E_V16QImode:
      if (!register_operand (operands[0], E_V16QImode)
          || GET_MODE (x3) != E_V16QImode
          || !register_operand (operands[1], E_V16QImode)
          || !
#line 445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1545; /* aarch64_rbitv16qi */

    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:
      switch (pattern133 (x3, E_QImode))
        {
        case 0:
          if (!
#line 3425 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2460; /* reduc_plus_scal_v8qi */

        case 1:
          if (!
#line 3425 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2461; /* reduc_plus_scal_v16qi */

        default:
          return -1;
        }

    case E_HImode:
      switch (pattern134 (x3, E_HImode))
        {
        case 0:
          if (!
#line 3425 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2462; /* reduc_plus_scal_v4hi */

        case 1:
          if (!
#line 3425 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2463; /* reduc_plus_scal_v8hi */

        default:
          return -1;
        }

    case E_SImode:
      switch (pattern135 (x3, E_SImode))
        {
        case 0:
          if (!
#line 3425 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2464; /* reduc_plus_scal_v4si */

        case 1:
          if (!
#line 3434 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2466; /* 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 3425 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2465; /* reduc_plus_scal_v2di */

    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_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode)
          || GET_MODE (x3) != E_VNx8HFmode
          || !register_operand (operands[1], E_VNx8HImode)
          || !
#line 3375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5703; /* 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 3375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5704; /* 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 3375 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5705; /* aarch64_sve_fexpavnx2df */

    default:
      return -1;
    }
}

static int
recog_209 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7;
  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 8187 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2))
        return -1;
      return 4330; /* 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 8197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2 && !BYTES_BIG_ENDIAN))
            return -1;
          return 4331; /* aarch64_crypto_sha1hv4si */

        case 3L:
          if (!
#line 8207 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2 && BYTES_BIG_ENDIAN))
            return -1;
          return 4332; /* aarch64_be_crypto_sha1hv4si */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_210 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  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 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 4311; /* aarch64_frecpxhf */

    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4312; /* aarch64_frecpxsf */

    case E_DFmode:
      if (!register_operand (operands[0], E_DFmode)
          || GET_MODE (x3) != E_DFmode
          || !register_operand (operands[1], E_DFmode)
          || !
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4313; /* aarch64_frecpxdf */

    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_QImode:
      if (!register_operand (operands[0], E_QImode)
          || GET_MODE (x3) != E_QImode
          || !register_operand (operands[1], E_HImode)
          || !
#line 5151 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2947; /* aarch64_sqmovunhi */

    case E_HImode:
      if (!register_operand (operands[0], E_HImode)
          || GET_MODE (x3) != E_HImode
          || !register_operand (operands[1], E_SImode)
          || !
#line 5151 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2948; /* aarch64_sqmovunsi */

    case E_SImode:
      if (!register_operand (operands[0], E_SImode)
          || GET_MODE (x3) != E_SImode
          || !register_operand (operands[1], E_DImode)
          || !
#line 5151 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2949; /* aarch64_sqmovundi */

    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_BFmode:
      if (!register_operand (operands[0], E_BFmode)
          || GET_MODE (x3) != E_BFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 9170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_FP))
        return -1;
      return 4419; /* aarch64_bfcvtbf */

    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_BFmode)
          || !
#line 9198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_FP))
        return -1;
      return 4423; /* aarch64_bfcvtsf */

    default:
      return -1;
    }
}

static int
recog_213 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  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 8069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4322; /* aarch64_urecpev2si */

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x3) != E_V4SImode
          || !register_operand (operands[1], E_V4SImode)
          || !
#line 8069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4323; /* aarch64_urecpev4si */

    default:
      return -1;
    }
}

static int
recog_214 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  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 3242 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2415; /* 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 3251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2416; /* aarch64_float_trunc_rodd_lo_v2sf */

    default:
      return -1;
    }
}

static int
recog_215 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  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 3454 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2475; /* 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 3454 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2476; /* reduc_plus_scal_v2df */

    default:
      return -1;
    }
}

static int
recog_216 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4;
  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 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
        return -1;
      return 1120; /* 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 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
        return -1;
      return 1121; /* ldr_got_tiny_di */

    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 (pattern128 (x1))
    {
    case 0:
      if (!(
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 897; /* rinthf2 */

    case 1:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 904; /* rintsf2 */

    case 2:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 911; /* rintdf2 */

    case 3:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2279; /* rintv4hf2 */

    case 4:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2286; /* rintv8hf2 */

    case 5:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2293; /* rintv2sf2 */

    case 6:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2300; /* rintv4sf2 */

    case 7:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2307; /* rintv2df2 */

    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 (pattern128 (x1))
    {
    case 0:
      if (!(
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 898; /* roundhf2 */

    case 1:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 905; /* roundsf2 */

    case 2:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 912; /* rounddf2 */

    case 3:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2280; /* roundv4hf2 */

    case 4:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2287; /* roundv8hf2 */

    case 5:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2294; /* roundv2sf2 */

    case 6:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2301; /* roundv4sf2 */

    case 7:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2308; /* roundv2df2 */

    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 (pattern128 (x1))
    {
    case 0:
      if (!(
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 896; /* nearbyinthf2 */

    case 1:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 903; /* nearbyintsf2 */

    case 2:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 910; /* nearbyintdf2 */

    case 3:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2278; /* nearbyintv4hf2 */

    case 4:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2285; /* nearbyintv8hf2 */

    case 5:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2292; /* nearbyintv2sf2 */

    case 6:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2299; /* nearbyintv4sf2 */

    case 7:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2306; /* nearbyintv2df2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern128 (x1))
    {
    case 0:
      if (!(
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 895; /* roundevenhf2 */

    case 1:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 902; /* roundevensf2 */

    case 2:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 909; /* roundevendf2 */

    case 3:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2277; /* roundevenv4hf2 */

    case 4:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2284; /* roundevenv8hf2 */

    case 5:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2291; /* roundevenv2sf2 */

    case 6:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2298; /* roundevenv4sf2 */

    case 7:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2305; /* roundevenv2df2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern128 (x1))
    {
    case 0:
      if (!(
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 894; /* floorhf2 */

    case 1:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 901; /* floorsf2 */

    case 2:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 908; /* floordf2 */

    case 3:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2276; /* floorv4hf2 */

    case 4:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2283; /* floorv8hf2 */

    case 5:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2290; /* floorv2sf2 */

    case 6:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2297; /* floorv4sf2 */

    case 7:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2304; /* floorv2df2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern128 (x1))
    {
    case 0:
      if (!(
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 893; /* ceilhf2 */

    case 1:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 900; /* ceilsf2 */

    case 2:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 907; /* ceildf2 */

    case 3:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2275; /* ceilv4hf2 */

    case 4:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2282; /* ceilv8hf2 */

    case 5:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2289; /* ceilv2sf2 */

    case 6:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2296; /* ceilv4sf2 */

    case 7:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2303; /* ceilv2df2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern128 (x1))
    {
    case 0:
      if (!(
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 892; /* btrunchf2 */

    case 1:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 899; /* btruncsf2 */

    case 2:
      if (!
#line 6261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 906; /* btruncdf2 */

    case 3:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2274; /* btruncv4hf2 */

    case 4:
      if (!(
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2281; /* btruncv8hf2 */

    case 5:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2288; /* btruncv2sf2 */

    case 6:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2295; /* btruncv4sf2 */

    case 7:
      if (!
#line 3048 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2302; /* btruncv2df2 */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern671 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5745; /* *cond_absvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5811; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5756; /* *cond_absvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5822; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5767; /* *cond_absvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5833; /* *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 (pattern909 (x2))
        {
        case 0:
          if (!
#line 5952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7300; /* *aarch64_cond_abdvnx8hf_2_relaxed */

        case 1:
          if (!
#line 5952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7301; /* *aarch64_cond_abdvnx4sf_2_relaxed */

        case 2:
          if (!
#line 5952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7302; /* *aarch64_cond_abdvnx2df_2_relaxed */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_225 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  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) != 374)
    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 (pattern909 (x2))
    {
    case 0:
      if (!
#line 5981 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7303; /* *aarch64_cond_abdvnx8hf_2_strict */

    case 1:
      if (!
#line 5981 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7304; /* *aarch64_cond_abdvnx4sf_2_strict */

    case 2:
      if (!
#line 5981 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7305; /* *aarch64_cond_abdvnx2df_2_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, 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 (pattern893 (x2, E_VNx8HFmode, E_VNx8BImode) == 0
                  && 
#line 6006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 7306; /* *aarch64_cond_abdvnx8hf_3_relaxed */
              break;

            case E_VNx4SFmode:
              if (pattern893 (x2, E_VNx4SFmode, E_VNx4BImode) == 0
                  && 
#line 6006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 7307; /* *aarch64_cond_abdvnx4sf_3_relaxed */
              break;

            case E_VNx2DFmode:
              if (pattern893 (x2, E_VNx2DFmode, E_VNx2BImode) == 0
                  && 
#line 6006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 7308; /* *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 (pattern893 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 6035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7309; /* *aarch64_cond_abdvnx8hf_3_strict */

    case E_VNx4SFmode:
      if (pattern893 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 6035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7310; /* *aarch64_cond_abdvnx4sf_3_strict */

    case E_VNx2DFmode:
      if (pattern893 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 6035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7311; /* *aarch64_cond_abdvnx2df_3_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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern556 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5683; /* *cond_cnotvnx16qi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx16QImode)
          || !
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5693; /* *cond_cnotvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5684; /* *cond_cnotvnx8qi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx8QImode)
          || !
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5694; /* *cond_cnotvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5685; /* *cond_cnotvnx4qi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4QImode)
          || !
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5695; /* *cond_cnotvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5686; /* *cond_cnotvnx2qi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2QImode)
          || !
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5696; /* *cond_cnotvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5687; /* *cond_cnotvnx8hi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx8HImode)
          || !
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5697; /* *cond_cnotvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5688; /* *cond_cnotvnx4hi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4HImode)
          || !
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5698; /* *cond_cnotvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5689; /* *cond_cnotvnx2hi_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2HImode)
          || !
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5699; /* *cond_cnotvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5690; /* *cond_cnotvnx4si_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4SImode)
          || !
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5700; /* *cond_cnotvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5691; /* *cond_cnotvnx2si_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2SImode)
          || !
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5701; /* *cond_cnotvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5692; /* *cond_cnotvnx2di_2 */
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2DImode)
          || !
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])))
        return -1;
      return 5702; /* *cond_cnotvnx2di_any */

    default:
      return -1;
    }
}

static int
recog_228 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  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_224 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    case 1L:
      x5 = XVECEXP (x3, 0, 2);
      operands[2] = x5;
      switch (pattern594 (x2))
        {
        case 0:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5778; /* *cond_absvnx8hf_2_strict */
          operands[3] = x6;
          if (aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              && 
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return 5844; /* *cond_absvnx8hf_any_strict */
          break;

        case 1:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5789; /* *cond_absvnx4sf_2_strict */
          operands[3] = x6;
          if (aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              && 
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return 5855; /* *cond_absvnx4sf_any_strict */
          break;

        case 2:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5800; /* *cond_absvnx2df_2_strict */
          operands[3] = x6;
          if (aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              && 
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return 5866; /* *cond_absvnx2df_any_strict */
          break;

        default:
          break;
        }
      break;

    default:
      break;
    }
  operands[4] = x4;
  if (aarch64_sve_gp_strictness (operands[4], E_SImode))
    {
      res = recog_225 (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) != 374)
    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_226 (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 (pattern917 (x2, E_VNx8HFmode, E_VNx8BImode) == 0
                  && 
#line 6060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return 7312; /* *aarch64_cond_abdvnx8hf_any_relaxed */
              break;

            case E_VNx4SFmode:
              if (pattern917 (x2, E_VNx4SFmode, E_VNx4BImode) == 0
                  && 
#line 6060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return 7313; /* *aarch64_cond_abdvnx4sf_any_relaxed */
              break;

            case E_VNx2DFmode:
              if (pattern917 (x2, E_VNx2DFmode, E_VNx2BImode) == 0
                  && 
#line 6060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])))
                return 7314; /* *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 (pattern918 (x2))
    {
    case 0:
      if (!
#line 6107 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7315; /* *aarch64_cond_abdvnx8hf_any_strict */

    case 1:
      if (!
#line 6107 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7316; /* *aarch64_cond_abdvnx4sf_any_strict */

    case 2:
      if (!
#line 6107 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7317; /* *aarch64_cond_abdvnx2df_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 (pattern595 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5755; /* *cond_sqrtvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5821; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5766; /* *cond_sqrtvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5832; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5777; /* *cond_sqrtvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5843; /* *cond_sqrtvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5788; /* *cond_sqrtvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5854; /* *cond_sqrtvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5799; /* *cond_sqrtvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5865; /* *cond_sqrtvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5810; /* *cond_sqrtvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5876; /* *cond_sqrtvnx2df_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 (pattern595 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5754; /* *cond_btruncvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5820; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5765; /* *cond_btruncvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5831; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5776; /* *cond_btruncvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5842; /* *cond_btruncvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5787; /* *cond_btruncvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5853; /* *cond_btruncvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5798; /* *cond_btruncvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5864; /* *cond_btruncvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5809; /* *cond_btruncvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5875; /* *cond_btruncvnx2df_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 (pattern595 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5753; /* *cond_rintvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5819; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5764; /* *cond_rintvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5830; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5775; /* *cond_rintvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5841; /* *cond_rintvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5786; /* *cond_rintvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5852; /* *cond_rintvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5797; /* *cond_rintvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5863; /* *cond_rintvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5808; /* *cond_rintvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5874; /* *cond_rintvnx2df_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 (pattern595 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5752; /* *cond_ceilvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5818; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5763; /* *cond_ceilvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5829; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5774; /* *cond_ceilvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5840; /* *cond_ceilvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5785; /* *cond_ceilvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5851; /* *cond_ceilvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5796; /* *cond_ceilvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5862; /* *cond_ceilvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5807; /* *cond_ceilvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5873; /* *cond_ceilvnx2df_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 (pattern595 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5751; /* *cond_frintnvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5817; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5762; /* *cond_frintnvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5828; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5773; /* *cond_frintnvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5839; /* *cond_frintnvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5784; /* *cond_frintnvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5850; /* *cond_frintnvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5795; /* *cond_frintnvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5861; /* *cond_frintnvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5806; /* *cond_frintnvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5872; /* *cond_frintnvnx2df_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);
  switch (pattern595 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5750; /* *cond_floorvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5816; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5761; /* *cond_floorvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5827; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5772; /* *cond_floorvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5838; /* *cond_floorvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5783; /* *cond_floorvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5849; /* *cond_floorvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5794; /* *cond_floorvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5860; /* *cond_floorvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5805; /* *cond_floorvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5871; /* *cond_floorvnx2df_any_strict */

    default:
      return -1;
    }
}

static int
recog_235 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern595 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5749; /* *cond_nearbyintvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5815; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5760; /* *cond_nearbyintvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5826; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5771; /* *cond_nearbyintvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5837; /* *cond_nearbyintvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5782; /* *cond_nearbyintvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5848; /* *cond_nearbyintvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5793; /* *cond_nearbyintvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5859; /* *cond_nearbyintvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5804; /* *cond_nearbyintvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5870; /* *cond_nearbyintvnx2df_any_strict */

    default:
      return -1;
    }
}

static int
recog_236 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern595 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5746; /* *cond_negvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5812; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5757; /* *cond_negvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5823; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5768; /* *cond_negvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5834; /* *cond_negvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5779; /* *cond_negvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5845; /* *cond_negvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5790; /* *cond_negvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5856; /* *cond_negvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5801; /* *cond_negvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5867; /* *cond_negvnx2df_any_strict */

    default:
      return -1;
    }
}

static int
recog_237 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern595 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5748; /* *cond_roundvnx8hf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5814; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5759; /* *cond_roundvnx4sf_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5825; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5770; /* *cond_roundvnx2df_2_relaxed */
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5836; /* *cond_roundvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5781; /* *cond_roundvnx8hf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5847; /* *cond_roundvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5792; /* *cond_roundvnx4sf_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5858; /* *cond_roundvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5803; /* *cond_roundvnx2df_2_strict */
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5869; /* *cond_roundvnx2df_any_strict */

    default:
      return -1;
    }
}

static int
recog_238 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5;
  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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9454; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9462; /* *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-13.5.0-r0/gcc-13.5.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 9470; /* *cond_uqshlvnx2di_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9452; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9460; /* *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-13.5.0-r0/gcc-13.5.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 9468; /* *cond_uqshlvnx4si_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9450; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9458; /* *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-13.5.0-r0/gcc-13.5.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 9466; /* *cond_uqshlvnx8hi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9448; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9456; /* *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-13.5.0-r0/gcc-13.5.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 9464; /* *cond_uqshlvnx16qi_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;
  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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9453; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9461; /* *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-13.5.0-r0/gcc-13.5.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 9469; /* *cond_sqshlvnx2di_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;
  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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9451; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9459; /* *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-13.5.0-r0/gcc-13.5.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 9467; /* *cond_sqshlvnx4si_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;
  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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9449; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9457; /* *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-13.5.0-r0/gcc-13.5.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 9465; /* *cond_sqshlvnx8hi_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;
  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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9447; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9455; /* *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-13.5.0-r0/gcc-13.5.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 9463; /* *cond_sqshlvnx16qi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9335; /* *cond_urshlvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9376; /* *cond_urshlvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9416; /* *cond_urshlvnx2di_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9323; /* *cond_urshlvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9366; /* *cond_urshlvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9406; /* *cond_urshlvnx4si_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9311; /* *cond_urshlvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9356; /* *cond_urshlvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9396; /* *cond_urshlvnx8hi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9299; /* *cond_urshlvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9346; /* *cond_urshlvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9386; /* *cond_urshlvnx16qi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9334; /* *cond_urhaddvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9375; /* *cond_urhaddvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9415; /* *cond_urhaddvnx2di_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9322; /* *cond_urhaddvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9365; /* *cond_urhaddvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9405; /* *cond_urhaddvnx4si_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9310; /* *cond_urhaddvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9355; /* *cond_urhaddvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9395; /* *cond_urhaddvnx8hi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9298; /* *cond_urhaddvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9345; /* *cond_urhaddvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9385; /* *cond_urhaddvnx16qi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9333; /* *cond_uqrshlvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9374; /* *cond_uqrshlvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9414; /* *cond_uqrshlvnx2di_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9321; /* *cond_uqrshlvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9364; /* *cond_uqrshlvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9404; /* *cond_uqrshlvnx4si_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9309; /* *cond_uqrshlvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9354; /* *cond_uqrshlvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9394; /* *cond_uqrshlvnx8hi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9297; /* *cond_uqrshlvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9344; /* *cond_uqrshlvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9384; /* *cond_uqrshlvnx16qi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9332; /* *cond_uhsubvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9373; /* *cond_uhsubvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9413; /* *cond_uhsubvnx2di_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9320; /* *cond_uhsubvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9363; /* *cond_uhsubvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9403; /* *cond_uhsubvnx4si_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9308; /* *cond_uhsubvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9353; /* *cond_uhsubvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9393; /* *cond_uhsubvnx8hi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9296; /* *cond_uhsubvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9343; /* *cond_uhsubvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9383; /* *cond_uhsubvnx16qi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9331; /* *cond_uhaddvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9372; /* *cond_uhaddvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9412; /* *cond_uhaddvnx2di_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9319; /* *cond_uhaddvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9362; /* *cond_uhaddvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9402; /* *cond_uhaddvnx4si_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9307; /* *cond_uhaddvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9352; /* *cond_uhaddvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9392; /* *cond_uhaddvnx8hi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9295; /* *cond_uhaddvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9342; /* *cond_uhaddvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9382; /* *cond_uhaddvnx16qi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9329; /* *cond_srshlvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9371; /* *cond_srshlvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9411; /* *cond_srshlvnx2di_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9317; /* *cond_srshlvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9361; /* *cond_srshlvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9401; /* *cond_srshlvnx4si_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9305; /* *cond_srshlvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9351; /* *cond_srshlvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9391; /* *cond_srshlvnx8hi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9293; /* *cond_srshlvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9341; /* *cond_srshlvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9381; /* *cond_srshlvnx16qi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9328; /* *cond_srhaddvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9370; /* *cond_srhaddvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9410; /* *cond_srhaddvnx2di_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9316; /* *cond_srhaddvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9360; /* *cond_srhaddvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9400; /* *cond_srhaddvnx4si_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9304; /* *cond_srhaddvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9350; /* *cond_srhaddvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9390; /* *cond_srhaddvnx8hi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9292; /* *cond_srhaddvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9340; /* *cond_srhaddvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9380; /* *cond_srhaddvnx16qi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9327; /* *cond_sqrshlvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9369; /* *cond_sqrshlvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9409; /* *cond_sqrshlvnx2di_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9315; /* *cond_sqrshlvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9359; /* *cond_sqrshlvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9399; /* *cond_sqrshlvnx4si_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9303; /* *cond_sqrshlvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9349; /* *cond_sqrshlvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9389; /* *cond_sqrshlvnx8hi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9291; /* *cond_sqrshlvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9339; /* *cond_sqrshlvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9379; /* *cond_sqrshlvnx16qi_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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9326; /* *cond_shsubvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9368; /* *cond_shsubvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9408; /* *cond_shsubvnx2di_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);
  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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9314; /* *cond_shsubvnx4si_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9358; /* *cond_shsubvnx4si_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9398; /* *cond_shsubvnx4si_any */
}

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;
  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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9302; /* *cond_shsubvnx8hi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9348; /* *cond_shsubvnx8hi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9388; /* *cond_shsubvnx8hi_any */
}

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;
  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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9290; /* *cond_shsubvnx16qi_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9338; /* *cond_shsubvnx16qi_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9378; /* *cond_shsubvnx16qi_any */
}

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;
  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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9325; /* *cond_shaddvnx2di_2 */
  if (rtx_equal_p (x5, operands[3])
      && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return 9367; /* *cond_shaddvnx2di_3 */
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9407; /* *cond_shaddvnx2di_any */
}

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 (pattern573 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6890; /* *cond_asrdvnx16qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6930; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6894; /* *cond_asrdvnx8qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6934; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6898; /* *cond_asrdvnx4qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6938; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6902; /* *cond_asrdvnx2qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6942; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6906; /* *cond_asrdvnx8hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6946; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6910; /* *cond_asrdvnx4hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6950; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6914; /* *cond_asrdvnx2hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6954; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6918; /* *cond_asrdvnx4si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6958; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6922; /* *cond_asrdvnx2si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6962; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6926; /* *cond_asrdvnx2di_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6966; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6891; /* *cond_sqshluvnx16qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6931; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6895; /* *cond_sqshluvnx8qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6935; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6899; /* *cond_sqshluvnx4qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6939; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6903; /* *cond_sqshluvnx2qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6943; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6907; /* *cond_sqshluvnx8hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6947; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6911; /* *cond_sqshluvnx4hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6951; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6915; /* *cond_sqshluvnx2hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6955; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6919; /* *cond_sqshluvnx4si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6959; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6923; /* *cond_sqshluvnx2si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6963; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6927; /* *cond_sqshluvnx2di_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6967; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6892; /* *cond_srshrvnx16qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6932; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6896; /* *cond_srshrvnx8qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6936; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6900; /* *cond_srshrvnx4qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6940; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6904; /* *cond_srshrvnx2qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6944; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6908; /* *cond_srshrvnx8hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6948; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6912; /* *cond_srshrvnx4hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6952; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6916; /* *cond_srshrvnx2hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6956; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6920; /* *cond_srshrvnx4si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6960; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6924; /* *cond_srshrvnx2si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6964; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6928; /* *cond_srshrvnx2di_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6968; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6893; /* *cond_urshrvnx16qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6933; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6897; /* *cond_urshrvnx8qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6937; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6901; /* *cond_urshrvnx4qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6941; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6905; /* *cond_urshrvnx2qi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6945; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6909; /* *cond_urshrvnx8hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6949; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6913; /* *cond_urshrvnx4hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6953; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6917; /* *cond_urshrvnx2hi_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6957; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6921; /* *cond_urshrvnx4si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6961; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6925; /* *cond_urshrvnx2si_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6965; /* *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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6929; /* *cond_urshrvnx2di_2 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6969; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9289; /* *cond_shaddvnx16qi_2 */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9337; /* *cond_shaddvnx16qi_3 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9377; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9301; /* *cond_shaddvnx8hi_2 */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9347; /* *cond_shaddvnx8hi_3 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9387; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9313; /* *cond_shaddvnx4si_2 */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return 9357; /* *cond_shaddvnx4si_3 */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9397; /* *cond_shaddvnx4si_any */

    case 43:
      return recog_282 (x1, insn, pnum_clobbers);

    case 44:
      return recog_281 (x1, insn, pnum_clobbers);

    case 45:
      return recog_280 (x1, insn, pnum_clobbers);

    case 46:
      return recog_279 (x1, insn, pnum_clobbers);

    case 47:
      return recog_278 (x1, insn, pnum_clobbers);

    case 48:
      return recog_277 (x1, insn, pnum_clobbers);

    case 49:
      return recog_276 (x1, insn, pnum_clobbers);

    case 50:
      return recog_275 (x1, insn, pnum_clobbers);

    case 51:
      return recog_274 (x1, insn, pnum_clobbers);

    case 52:
      return recog_273 (x1, insn, pnum_clobbers);

    case 53:
      return recog_272 (x1, insn, pnum_clobbers);

    case 54:
      return recog_271 (x1, insn, pnum_clobbers);

    case 55:
      return recog_270 (x1, insn, pnum_clobbers);

    case 56:
      return recog_269 (x1, insn, pnum_clobbers);

    case 57:
      return recog_268 (x1, insn, pnum_clobbers);

    case 58:
      return recog_267 (x1, insn, pnum_clobbers);

    case 59:
      return recog_266 (x1, insn, pnum_clobbers);

    case 60:
      if (!
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9294; /* *cond_suqaddvnx16qi_2 */

    case 61:
      if (!
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9306; /* *cond_suqaddvnx8hi_2 */

    case 62:
      if (!
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9318; /* *cond_suqaddvnx4si_2 */

    case 63:
      if (!
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9330; /* *cond_suqaddvnx2di_2 */

    case 64:
      if (!
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9417; /* *cond_suqaddvnx16qi_z */

    case 65:
      if (!
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9419; /* *cond_suqaddvnx8hi_z */

    case 66:
      if (!
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9421; /* *cond_suqaddvnx4si_z */

    case 67:
      if (!
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9423; /* *cond_suqaddvnx2di_z */

    case 68:
      return recog_265 (x1, insn, pnum_clobbers);

    case 69:
      return recog_264 (x1, insn, pnum_clobbers);

    case 70:
      return recog_263 (x1, insn, pnum_clobbers);

    case 71:
      return recog_262 (x1, insn, pnum_clobbers);

    case 72:
      return recog_261 (x1, insn, pnum_clobbers);

    case 73:
      return recog_260 (x1, insn, pnum_clobbers);

    case 74:
      return recog_259 (x1, insn, pnum_clobbers);

    case 75:
      return recog_258 (x1, insn, pnum_clobbers);

    case 76:
      return recog_257 (x1, insn, pnum_clobbers);

    case 77:
      return recog_256 (x1, insn, pnum_clobbers);

    case 78:
      return recog_255 (x1, insn, pnum_clobbers);

    case 79:
      return recog_254 (x1, insn, pnum_clobbers);

    case 80:
      return recog_253 (x1, insn, pnum_clobbers);

    case 81:
      return recog_252 (x1, insn, pnum_clobbers);

    case 82:
      return recog_251 (x1, insn, pnum_clobbers);

    case 83:
      return recog_250 (x1, insn, pnum_clobbers);

    case 84:
      return recog_249 (x1, insn, pnum_clobbers);

    case 85:
      return recog_248 (x1, insn, pnum_clobbers);

    case 86:
      return recog_247 (x1, insn, pnum_clobbers);

    case 87:
      return recog_246 (x1, insn, pnum_clobbers);

    case 88:
      if (!
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9300; /* *cond_usqaddvnx16qi_2 */

    case 89:
      if (!
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9312; /* *cond_usqaddvnx8hi_2 */

    case 90:
      if (!
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9324; /* *cond_usqaddvnx4si_2 */

    case 91:
      if (!
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9336; /* *cond_usqaddvnx2di_2 */

    case 92:
      if (!
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9418; /* *cond_usqaddvnx16qi_z */

    case 93:
      if (!
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9420; /* *cond_usqaddvnx8hi_z */

    case 94:
      if (!
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9422; /* *cond_usqaddvnx4si_z */

    case 95:
      if (!
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9424; /* *cond_usqaddvnx2di_z */

    case 96:
      return recog_245 (x1, insn, pnum_clobbers);

    case 97:
      return recog_244 (x1, insn, pnum_clobbers);

    case 98:
      return recog_243 (x1, insn, pnum_clobbers);

    case 99:
      return recog_242 (x1, insn, pnum_clobbers);

    case 100:
      return recog_241 (x1, insn, pnum_clobbers);

    case 101:
      return recog_240 (x1, insn, pnum_clobbers);

    case 102:
      return recog_239 (x1, insn, pnum_clobbers);

    case 103:
      return recog_238 (x1, insn, pnum_clobbers);

    case 104:
      if (!
#line 2195 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10038; /* *cond_urecpevnx4si */

    case 105:
      if (!
#line 2195 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10039; /* *cond_ursqrtevnx4si */

    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, 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 (pattern758 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7020; /* *cond_subvnx8hf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7104; /* *cond_subvnx8hf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7158; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7029; /* *cond_subvnx4sf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7113; /* *cond_subvnx4sf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7167; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7038; /* *cond_subvnx2df_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7122; /* *cond_subvnx2df_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7176; /* *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 5750 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7282; /* *cond_subvnx8hf_3_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5794 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7288; /* *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 5750 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7283; /* *cond_subvnx4sf_3_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5794 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7289; /* *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 5750 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7284; /* *cond_subvnx2df_3_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5794 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7290; /* *cond_subvnx2df_const_relaxed */

        default:
          return -1;
        }

    case 1L:
      x5 = XVECEXP (x3, 0, 0);
      if (!rtx_equal_p (x5, operands[1]))
        return -1;
      switch (pattern758 (x2))
        {
        case 0:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7047; /* *cond_subvnx8hf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7131; /* *cond_subvnx8hf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185; /* *cond_subvnx8hf_any_strict */

        case 1:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7056; /* *cond_subvnx4sf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7140; /* *cond_subvnx4sf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7194; /* *cond_subvnx4sf_any_strict */

        case 2:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7065; /* *cond_subvnx2df_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7149; /* *cond_subvnx2df_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7203; /* *cond_subvnx2df_any_strict */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7285; /* *cond_subvnx8hf_3_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7291; /* *cond_subvnx8hf_const_strict */

        case 4:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7286; /* *cond_subvnx4sf_3_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7292; /* *cond_subvnx4sf_const_strict */

        case 5:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7287; /* *cond_subvnx2df_3_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])))
            return -1;
          return 7293; /* *cond_subvnx2df_const_strict */

        default:
          return -1;
        }

    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, 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 (pattern756 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7018; /* *cond_mulvnx8hf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7102; /* *cond_mulvnx8hf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7156; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7027; /* *cond_mulvnx4sf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7111; /* *cond_mulvnx4sf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7165; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7036; /* *cond_mulvnx2df_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7120; /* *cond_mulvnx2df_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7174; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7070; /* *cond_mulvnx8hf_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7208; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7075; /* *cond_mulvnx4sf_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7213; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7080; /* *cond_mulvnx2df_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7218; /* *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 (pattern756 (x2))
        {
        case 0:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7045; /* *cond_mulvnx8hf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7129; /* *cond_mulvnx8hf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7183; /* *cond_mulvnx8hf_any_strict */

        case 1:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7054; /* *cond_mulvnx4sf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7138; /* *cond_mulvnx4sf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7192; /* *cond_mulvnx4sf_any_strict */

        case 2:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7063; /* *cond_mulvnx2df_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7147; /* *cond_mulvnx2df_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7201; /* *cond_mulvnx2df_any_strict */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7085; /* *cond_mulvnx8hf_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7223; /* *cond_mulvnx8hf_any_const_strict */

        case 4:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7090; /* *cond_mulvnx4sf_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7228; /* *cond_mulvnx4sf_any_const_strict */

        case 5:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7095; /* *cond_mulvnx2df_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7233; /* *cond_mulvnx2df_any_const_strict */

        default:
          return -1;
        }

    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, 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 (pattern753 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7012; /* *cond_addvnx8hf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7096; /* *cond_addvnx8hf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7150; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7021; /* *cond_addvnx4sf_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7105; /* *cond_addvnx4sf_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7159; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7030; /* *cond_addvnx2df_2_relaxed */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7114; /* *cond_addvnx2df_3_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7168; /* *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 5432 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7237; /* *cond_addvnx8hf_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7243; /* *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 5432 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7238; /* *cond_addvnx4sf_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7244; /* *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 5432 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7239; /* *cond_addvnx2df_2_const_relaxed */
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7245; /* *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 (pattern753 (x2))
        {
        case 0:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7039; /* *cond_addvnx8hf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7123; /* *cond_addvnx8hf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7177; /* *cond_addvnx8hf_any_strict */

        case 1:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7048; /* *cond_addvnx4sf_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7132; /* *cond_addvnx4sf_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7186; /* *cond_addvnx4sf_any_strict */

        case 2:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7057; /* *cond_addvnx2df_2_strict */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7141; /* *cond_addvnx2df_3_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7195; /* *cond_addvnx2df_any_strict */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5457 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7240; /* *cond_addvnx8hf_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5518 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7246; /* *cond_addvnx8hf_any_const_strict */

        case 4:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5457 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7241; /* *cond_addvnx4sf_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5518 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7247; /* *cond_addvnx4sf_any_const_strict */

        case 5:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 5457 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7242; /* *cond_addvnx2df_2_const_strict */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5518 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7248; /* *cond_addvnx2df_any_const_strict */

        default:
          return -1;
        }

    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 (pattern733 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7017; /* *cond_sminvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7101; /* *cond_sminvnx8hf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7155; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7026; /* *cond_sminvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7110; /* *cond_sminvnx4sf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7164; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7035; /* *cond_sminvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7119; /* *cond_sminvnx2df_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7173; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7069; /* *cond_sminvnx8hf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7207; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7074; /* *cond_sminvnx4sf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7212; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7079; /* *cond_sminvnx2df_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7217; /* *cond_sminvnx2df_any_const_relaxed */

    case 6:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7044; /* *cond_sminvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7128; /* *cond_sminvnx8hf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7182; /* *cond_sminvnx8hf_any_strict */

    case 7:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7053; /* *cond_sminvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7137; /* *cond_sminvnx4sf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7191; /* *cond_sminvnx4sf_any_strict */

    case 8:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7062; /* *cond_sminvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7146; /* *cond_sminvnx2df_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7200; /* *cond_sminvnx2df_any_strict */

    case 9:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7084; /* *cond_sminvnx8hf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7222; /* *cond_sminvnx8hf_any_const_strict */

    case 10:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7089; /* *cond_sminvnx4sf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7227; /* *cond_sminvnx4sf_any_const_strict */

    case 11:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7094; /* *cond_sminvnx2df_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7232; /* *cond_sminvnx2df_any_const_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 (pattern733 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7016; /* *cond_fmin_nanvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7100; /* *cond_fmin_nanvnx8hf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7154; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7025; /* *cond_fmin_nanvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7109; /* *cond_fmin_nanvnx4sf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7163; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7034; /* *cond_fmin_nanvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7118; /* *cond_fmin_nanvnx2df_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7172; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7068; /* *cond_fmin_nanvnx8hf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7206; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7073; /* *cond_fmin_nanvnx4sf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7211; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7078; /* *cond_fmin_nanvnx2df_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7216; /* *cond_fmin_nanvnx2df_any_const_relaxed */

    case 6:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7043; /* *cond_fmin_nanvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7127; /* *cond_fmin_nanvnx8hf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7181; /* *cond_fmin_nanvnx8hf_any_strict */

    case 7:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7052; /* *cond_fmin_nanvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7136; /* *cond_fmin_nanvnx4sf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7190; /* *cond_fmin_nanvnx4sf_any_strict */

    case 8:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7061; /* *cond_fmin_nanvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7145; /* *cond_fmin_nanvnx2df_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7199; /* *cond_fmin_nanvnx2df_any_strict */

    case 9:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7083; /* *cond_fmin_nanvnx8hf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7221; /* *cond_fmin_nanvnx8hf_any_const_strict */

    case 10:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7088; /* *cond_fmin_nanvnx4sf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7226; /* *cond_fmin_nanvnx4sf_any_const_strict */

    case 11:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7093; /* *cond_fmin_nanvnx2df_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7231; /* *cond_fmin_nanvnx2df_any_const_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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern733 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7015; /* *cond_smaxvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7099; /* *cond_smaxvnx8hf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7153; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7024; /* *cond_smaxvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7108; /* *cond_smaxvnx4sf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7162; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7033; /* *cond_smaxvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7117; /* *cond_smaxvnx2df_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7171; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7067; /* *cond_smaxvnx8hf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7205; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7072; /* *cond_smaxvnx4sf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7210; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7077; /* *cond_smaxvnx2df_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7215; /* *cond_smaxvnx2df_any_const_relaxed */

    case 6:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7042; /* *cond_smaxvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7126; /* *cond_smaxvnx8hf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7180; /* *cond_smaxvnx8hf_any_strict */

    case 7:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7051; /* *cond_smaxvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7135; /* *cond_smaxvnx4sf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7189; /* *cond_smaxvnx4sf_any_strict */

    case 8:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7060; /* *cond_smaxvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7144; /* *cond_smaxvnx2df_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_smaxvnx2df_any_strict */

    case 9:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7082; /* *cond_smaxvnx8hf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7220; /* *cond_smaxvnx8hf_any_const_strict */

    case 10:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7087; /* *cond_smaxvnx4sf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7225; /* *cond_smaxvnx4sf_any_const_strict */

    case 11:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7092; /* *cond_smaxvnx2df_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7230; /* *cond_smaxvnx2df_any_const_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern733 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7014; /* *cond_fmax_nanvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7098; /* *cond_fmax_nanvnx8hf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7152; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7023; /* *cond_fmax_nanvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7107; /* *cond_fmax_nanvnx4sf_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7161; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7032; /* *cond_fmax_nanvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7116; /* *cond_fmax_nanvnx2df_3_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7170; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7066; /* *cond_fmax_nanvnx8hf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7204; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7071; /* *cond_fmax_nanvnx4sf_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7209; /* *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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7076; /* *cond_fmax_nanvnx2df_2_const_relaxed */
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7214; /* *cond_fmax_nanvnx2df_any_const_relaxed */

    case 6:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7041; /* *cond_fmax_nanvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7125; /* *cond_fmax_nanvnx8hf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7179; /* *cond_fmax_nanvnx8hf_any_strict */

    case 7:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7050; /* *cond_fmax_nanvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7134; /* *cond_fmax_nanvnx4sf_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7188; /* *cond_fmax_nanvnx4sf_any_strict */

    case 8:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7059; /* *cond_fmax_nanvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[3])
          && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7143; /* *cond_fmax_nanvnx2df_3_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_fmax_nanvnx2df_any_strict */

    case 9:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7081; /* *cond_fmax_nanvnx8hf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7219; /* *cond_fmax_nanvnx8hf_any_const_strict */

    case 10:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7086; /* *cond_fmax_nanvnx4sf_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7224; /* *cond_fmax_nanvnx4sf_any_const_strict */

    case 11:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 5196 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7091; /* *cond_fmax_nanvnx2df_2_const_strict */
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 7229; /* *cond_fmax_nanvnx2df_any_const_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern777 (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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7542; /* *cond_fmsvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7566; /* *cond_fmsvnx8hf_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
          || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7590; /* *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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7546; /* *cond_fmsvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7570; /* *cond_fmsvnx4sf_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
          || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7594; /* *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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7550; /* *cond_fmsvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7574; /* *cond_fmsvnx2df_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
          || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7598; /* *cond_fmsvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7554; /* *cond_fmsvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7578; /* *cond_fmsvnx8hf_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
          || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7602; /* *cond_fmsvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7558; /* *cond_fmsvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7582; /* *cond_fmsvnx4sf_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
          || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7606; /* *cond_fmsvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7562; /* *cond_fmsvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7586; /* *cond_fmsvnx2df_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
          || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7610; /* *cond_fmsvnx2df_any_strict */

    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, x4, x5;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern777 (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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7541; /* *cond_fnmsvnx8hf_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7565; /* *cond_fnmsvnx8hf_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
          || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7589; /* *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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7545; /* *cond_fnmsvnx4sf_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7569; /* *cond_fnmsvnx4sf_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
          || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7593; /* *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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7549; /* *cond_fnmsvnx2df_2_relaxed */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7573; /* *cond_fnmsvnx2df_4_relaxed */
      operands[6] = x4;
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
          || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7597; /* *cond_fnmsvnx2df_any_relaxed */

    case 3:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7553; /* *cond_fnmsvnx8hf_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7577; /* *cond_fnmsvnx8hf_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
          || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7601; /* *cond_fnmsvnx8hf_any_strict */

    case 4:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7557; /* *cond_fnmsvnx4sf_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7581; /* *cond_fnmsvnx4sf_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
          || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7605; /* *cond_fnmsvnx4sf_any_strict */

    case 5:
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7561; /* *cond_fnmsvnx2df_2_strict */
      if (rtx_equal_p (x5, operands[4])
          && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7585; /* *cond_fnmsvnx2df_4_strict */
      operands[5] = x5;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
          || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7609; /* *cond_fnmsvnx2df_any_strict */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  switch (XINT (x3, 1))
    {
    case 285:
      return recog_227 (x1, insn, pnum_clobbers);

    case 334:
      return recog_228 (x1, insn, pnum_clobbers);

    case 361:
      return recog_236 (x1, insn, pnum_clobbers);

    case 364:
      switch (pattern595 (x2))
        {
        case 0:
          x4 = XVECEXP (x3, 0, 0);
          operands[3] = x4;
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && 
#line 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5747; /* *cond_frecpxvnx8hf_2_relaxed */
          operands[4] = x4;
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5813; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5758; /* *cond_frecpxvnx4sf_2_relaxed */
          operands[4] = x4;
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5824; /* *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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5769; /* *cond_frecpxvnx2df_2_relaxed */
          operands[4] = x4;
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5835; /* *cond_frecpxvnx2df_any_relaxed */

        case 3:
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5780; /* *cond_frecpxvnx8hf_2_strict */
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5846; /* *cond_frecpxvnx8hf_any_strict */

        case 4:
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5791; /* *cond_frecpxvnx4sf_2_strict */
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5857; /* *cond_frecpxvnx4sf_any_strict */

        case 5:
          x5 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x5, operands[2])
              && 
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5802; /* *cond_frecpxvnx2df_2_strict */
          operands[3] = x5;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !
#line 3535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 5868; /* *cond_frecpxvnx2df_any_strict */

        default:
          return -1;
        }

    case 365:
      return recog_237 (x1, insn, pnum_clobbers);

    case 366:
      return recog_235 (x1, insn, pnum_clobbers);

    case 367:
      return recog_234 (x1, insn, pnum_clobbers);

    case 368:
      return recog_233 (x1, insn, pnum_clobbers);

    case 369:
      return recog_232 (x1, insn, pnum_clobbers);

    case 370:
      return recog_231 (x1, insn, pnum_clobbers);

    case 371:
      return recog_230 (x1, insn, pnum_clobbers);

    case 373:
      return recog_229 (x1, insn, pnum_clobbers);

    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 (pattern772 (x2))
            {
            case 0:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 8998; /* *cond_fix_trunc_nontruncvnx8hfvnx8hi_relaxed */
              break;

            case 1:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 9000; /* *cond_fix_trunc_nontruncvnx8hfvnx4si_relaxed */
              break;

            case 2:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 9002; /* *cond_fix_trunc_nontruncvnx4sfvnx4si_relaxed */
              break;

            case 3:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 9004; /* *cond_fix_trunc_nontruncvnx8hfvnx2di_relaxed */
              break;

            case 4:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 9006; /* *cond_fix_trunc_nontruncvnx4sfvnx2di_relaxed */
              break;

            case 5:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 9008; /* *cond_fix_trunc_nontruncvnx2dfvnx2di_relaxed */
              break;

            default:
              break;
            }
          break;

        case 1L:
          switch (pattern773 (x2))
            {
            case 0:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 9010; /* *cond_fix_trunc_nontruncvnx8hfvnx8hi_strict */
              break;

            case 1:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 9012; /* *cond_fix_trunc_nontruncvnx8hfvnx4si_strict */
              break;

            case 2:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 9014; /* *cond_fix_trunc_nontruncvnx4sfvnx4si_strict */
              break;

            case 3:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 9016; /* *cond_fix_trunc_nontruncvnx8hfvnx2di_strict */
              break;

            case 4:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 9018; /* *cond_fix_trunc_nontruncvnx4sfvnx2di_strict */
              break;

            case 5:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 9020; /* *cond_fix_trunc_nontruncvnx2dfvnx2di_strict */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || pattern774 (x2, E_VNx2DFmode, E_VNx4SImode) != 0
          || !
#line 9121 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9022; /* *cond_fix_trunc_truncvnx2dfvnx4si */

    case 351:
      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 (pattern772 (x2))
            {
            case 0:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 8999; /* *cond_fixuns_trunc_nontruncvnx8hfvnx8hi_relaxed */
              break;

            case 1:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 9001; /* *cond_fixuns_trunc_nontruncvnx8hfvnx4si_relaxed */
              break;

            case 2:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 9003; /* *cond_fixuns_trunc_nontruncvnx4sfvnx4si_relaxed */
              break;

            case 3:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 9005; /* *cond_fixuns_trunc_nontruncvnx8hfvnx2di_relaxed */
              break;

            case 4:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 9007; /* *cond_fixuns_trunc_nontruncvnx4sfvnx2di_relaxed */
              break;

            case 5:
              if (
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 9009; /* *cond_fixuns_trunc_nontruncvnx2dfvnx2di_relaxed */
              break;

            default:
              break;
            }
          break;

        case 1L:
          switch (pattern773 (x2))
            {
            case 0:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 9011; /* *cond_fixuns_trunc_nontruncvnx8hfvnx8hi_strict */
              break;

            case 1:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 9013; /* *cond_fixuns_trunc_nontruncvnx8hfvnx4si_strict */
              break;

            case 2:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 9015; /* *cond_fixuns_trunc_nontruncvnx4sfvnx4si_strict */
              break;

            case 3:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 9017; /* *cond_fixuns_trunc_nontruncvnx8hfvnx2di_strict */
              break;

            case 4:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 9019; /* *cond_fixuns_trunc_nontruncvnx4sfvnx2di_strict */
              break;

            case 5:
              if (
#line 9087 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 9021; /* *cond_fixuns_trunc_nontruncvnx2dfvnx2di_strict */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || pattern774 (x2, E_VNx2DFmode, E_VNx4SImode) != 0
          || !
#line 9121 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9023; /* *cond_fixuns_trunc_truncvnx2dfvnx4si */

    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 (pattern775 (x2))
            {
            case 0:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 9038; /* *cond_float_nonextendvnx8hivnx8hf_relaxed */
              break;

            case 1:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 9040; /* *cond_float_nonextendvnx4sivnx8hf_relaxed */
              break;

            case 2:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 9044; /* *cond_float_nonextendvnx2divnx8hf_relaxed */
              break;

            case 3:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 9042; /* *cond_float_nonextendvnx4sivnx4sf_relaxed */
              break;

            case 4:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 9046; /* *cond_float_nonextendvnx2divnx4sf_relaxed */
              break;

            case 5:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 9048; /* *cond_float_nonextendvnx2divnx2df_relaxed */
              break;

            default:
              break;
            }
          break;

        case 1L:
          switch (pattern776 (x2))
            {
            case 0:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 9050; /* *cond_float_nonextendvnx8hivnx8hf_strict */
              break;

            case 1:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 9052; /* *cond_float_nonextendvnx4sivnx8hf_strict */
              break;

            case 2:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 9056; /* *cond_float_nonextendvnx2divnx8hf_strict */
              break;

            case 3:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 9054; /* *cond_float_nonextendvnx4sivnx4sf_strict */
              break;

            case 4:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 9058; /* *cond_float_nonextendvnx2divnx4sf_strict */
              break;

            case 5:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 9060; /* *cond_float_nonextendvnx2divnx2df_strict */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || pattern774 (x2, E_VNx4SImode, E_VNx2DFmode) != 0
          || !
#line 9308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9062; /* *cond_float_extendvnx4sivnx2df */

    case 376:
      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 (pattern775 (x2))
            {
            case 0:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 9039; /* *cond_floatuns_nonextendvnx8hivnx8hf_relaxed */
              break;

            case 1:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 9041; /* *cond_floatuns_nonextendvnx4sivnx8hf_relaxed */
              break;

            case 2:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 9045; /* *cond_floatuns_nonextendvnx2divnx8hf_relaxed */
              break;

            case 3:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 9043; /* *cond_floatuns_nonextendvnx4sivnx4sf_relaxed */
              break;

            case 4:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 9047; /* *cond_floatuns_nonextendvnx2divnx4sf_relaxed */
              break;

            case 5:
              if (
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 9049; /* *cond_floatuns_nonextendvnx2divnx2df_relaxed */
              break;

            default:
              break;
            }
          break;

        case 1L:
          switch (pattern776 (x2))
            {
            case 0:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return 9051; /* *cond_floatuns_nonextendvnx8hivnx8hf_strict */
              break;

            case 1:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return 9053; /* *cond_floatuns_nonextendvnx4sivnx8hf_strict */
              break;

            case 2:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return 9057; /* *cond_floatuns_nonextendvnx2divnx8hf_strict */
              break;

            case 3:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return 9055; /* *cond_floatuns_nonextendvnx4sivnx4sf_strict */
              break;

            case 4:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return 9059; /* *cond_floatuns_nonextendvnx2divnx4sf_strict */
              break;

            case 5:
              if (
#line 9274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
                return 9061; /* *cond_floatuns_nonextendvnx2divnx2df_strict */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || pattern774 (x2, E_VNx4SImode, E_VNx2DFmode) != 0
          || !
#line 9308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9063; /* *cond_floatuns_extendvnx4sivnx2df */

    case 349:
      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 (pattern561 (x2, E_VNx4SFmode, E_VNx2DFmode, E_VNx8HFmode))
            {
            case 0:
              if (!
#line 9428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                return -1;
              return 9067; /* *cond_fcvt_truncvnx4sfvnx8hf */

            case 1:
              if (!
#line 9428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                return -1;
              return 9068; /* *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 9428 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 9069; /* *cond_fcvt_truncvnx2dfvnx4sf */

            case E_VNx4BImode:
              if (!register_operand (operands[1], E_VNx4BImode)
                  || !register_operand (operands[2], E_VNx8HFmode)
                  || !
#line 9585 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
                return -1;
              return 9076; /* *cond_fcvt_nontruncvnx8hfvnx4sf */

            default:
              return -1;
            }

        case E_VNx8BFmode:
          if (pattern557 (x2, E_VNx8BFmode, E_VNx4SFmode, E_VNx4BImode) != 0
              || !
#line 9485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
            return -1;
          return 9071; /* *cond_fcvt_truncvnx4sfvnx8bf */

        case E_VNx2DFmode:
          switch (pattern558 (x2, E_VNx2DFmode, E_VNx2BImode))
            {
            case 0:
              if (!
#line 9585 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
                return -1;
              return 9077; /* *cond_fcvt_nontruncvnx8hfvnx2df */

            case 1:
              if (!
#line 9585 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
                return -1;
              return 9078; /* *cond_fcvt_nontruncvnx4sfvnx2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 72:
      switch (pattern566 (x2))
        {
        case 0:
          if (!
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9932; /* *cond_sadalpvnx8hi_2 */

        case 1:
          if (!
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9934; /* *cond_sadalpvnx4si_2 */

        case 2:
          if (!
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9936; /* *cond_sadalpvnx2di_2 */

        case 3:
          if (!
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9938; /* *cond_sadalpvnx8hi_z */

        case 4:
          if (!
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9940; /* *cond_sadalpvnx4si_z */

        case 5:
          if (!
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9942; /* *cond_sadalpvnx2di_z */

        default:
          return -1;
        }

    case 96:
      switch (pattern566 (x2))
        {
        case 0:
          if (!
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9933; /* *cond_uadalpvnx8hi_2 */

        case 1:
          if (!
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9935; /* *cond_uadalpvnx4si_2 */

        case 2:
          if (!
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9937; /* *cond_uadalpvnx2di_2 */

        case 3:
          if (!
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9939; /* *cond_uadalpvnx8hi_z */

        case 4:
          if (!
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9941; /* *cond_uadalpvnx4si_z */

        case 5:
          if (!
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9943; /* *cond_uadalpvnx2di_z */

        default:
          return -1;
        }

    case 416:
      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 (pattern801 (x2, E_VNx4SFmode, E_VNx8HFmode, E_VNx4BImode) != 0
                  || !
#line 1997 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 10026; /* *cond_fcvtltvnx4sf_relaxed */

            case E_VNx2DFmode:
              if (pattern801 (x2, E_VNx2DFmode, E_VNx4SFmode, E_VNx2BImode) != 0
                  || !
#line 1997 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 10027; /* *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 (pattern801 (x2, E_VNx4SFmode, E_VNx8HFmode, E_VNx4BImode) != 0
                  || !
#line 2016 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 10028; /* *cond_fcvtltvnx4sf_strict */

            case E_VNx2DFmode:
              if (pattern801 (x2, E_VNx2DFmode, E_VNx4SFmode, E_VNx2BImode) != 0
                  || !
#line 2016 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 10029; /* *cond_fcvtltvnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 418:
      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 2088 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 10033; /* *cond_fcvtxvnx4sf_any_relaxed */

        case 1L:
          x4 = XVECEXP (x3, 0, 0);
          if (!rtx_equal_p (x4, operands[1])
              || !
#line 2111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
            return -1;
          return 10034; /* *cond_fcvtxvnx4sf_any_strict */

        default:
          return -1;
        }

    case 420:
      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 (pattern557 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 10043; /* *cond_flogbvnx8hf */

            case E_VNx4SImode:
              if (pattern557 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 10044; /* *cond_flogbvnx4sf */

            case E_VNx2DImode:
              if (pattern557 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 10045; /* *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 (pattern557 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 2278 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 10046; /* *cond_flogbvnx8hf_strict */

            case E_VNx4SImode:
              if (pattern557 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 2278 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 10047; /* *cond_flogbvnx4sf_strict */

            case E_VNx2DImode:
              if (pattern557 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 2278 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 10048; /* *cond_flogbvnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    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, 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 357:
      switch (pattern777 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7539; /* *cond_fmavnx8hf_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7563; /* *cond_fmavnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7587; /* *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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7543; /* *cond_fmavnx4sf_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7567; /* *cond_fmavnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7591; /* *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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7547; /* *cond_fmavnx2df_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7571; /* *cond_fmavnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7595; /* *cond_fmavnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7551; /* *cond_fmavnx8hf_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7575; /* *cond_fmavnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7599; /* *cond_fmavnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7555; /* *cond_fmavnx4sf_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7579; /* *cond_fmavnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7603; /* *cond_fmavnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7559; /* *cond_fmavnx2df_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7583; /* *cond_fmavnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7607; /* *cond_fmavnx2df_any_strict */

        default:
          return -1;
        }

    case 358:
      switch (pattern777 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7540; /* *cond_fnmavnx8hf_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7564; /* *cond_fnmavnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7588; /* *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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7544; /* *cond_fnmavnx4sf_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7568; /* *cond_fnmavnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7592; /* *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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7548; /* *cond_fnmavnx2df_2_relaxed */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7572; /* *cond_fnmavnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7596; /* *cond_fnmavnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7552; /* *cond_fnmavnx8hf_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7576; /* *cond_fnmavnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7600; /* *cond_fnmavnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7556; /* *cond_fnmavnx4sf_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7580; /* *cond_fnmavnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7604; /* *cond_fnmavnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[2])
              && 
#line 7106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7560; /* *cond_fnmavnx2df_2_strict */
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7584; /* *cond_fnmavnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7608; /* *cond_fnmavnx2df_any_strict */

        default:
          return -1;
        }

    case 362:
      return recog_292 (x1, insn, pnum_clobbers);

    case 363:
      return recog_291 (x1, insn, pnum_clobbers);

    case 341:
      switch (pattern777 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7629; /* *cond_fcmlavnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7653; /* *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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7633; /* *cond_fcmlavnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7657; /* *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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7637; /* *cond_fcmlavnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7661; /* *cond_fcmlavnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7641; /* *cond_fcmlavnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7665; /* *cond_fcmlavnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7645; /* *cond_fcmlavnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7669; /* *cond_fcmlavnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7649; /* *cond_fcmlavnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7673; /* *cond_fcmlavnx2df_any_strict */

        default:
          return -1;
        }

    case 342:
      switch (pattern777 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7630; /* *cond_fcmla90vnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7654; /* *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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7634; /* *cond_fcmla90vnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7658; /* *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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7638; /* *cond_fcmla90vnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7662; /* *cond_fcmla90vnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7642; /* *cond_fcmla90vnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7666; /* *cond_fcmla90vnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7646; /* *cond_fcmla90vnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7670; /* *cond_fcmla90vnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7650; /* *cond_fcmla90vnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7674; /* *cond_fcmla90vnx2df_any_strict */

        default:
          return -1;
        }

    case 343:
      switch (pattern777 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7631; /* *cond_fcmla180vnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7655; /* *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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7635; /* *cond_fcmla180vnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7659; /* *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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7639; /* *cond_fcmla180vnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7663; /* *cond_fcmla180vnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7643; /* *cond_fcmla180vnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7667; /* *cond_fcmla180vnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7647; /* *cond_fcmla180vnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7671; /* *cond_fcmla180vnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7651; /* *cond_fcmla180vnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7675; /* *cond_fcmla180vnx2df_any_strict */

        default:
          return -1;
        }

    case 344:
      switch (pattern777 (x2))
        {
        case 0:
          x8 = XVECEXP (x3, 0, 0);
          operands[5] = x8;
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7632; /* *cond_fcmla270vnx8hf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7656; /* *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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7636; /* *cond_fcmla270vnx4sf_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7660; /* *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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7640; /* *cond_fcmla270vnx2df_4_relaxed */
          operands[6] = x8;
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7664; /* *cond_fcmla270vnx2df_any_relaxed */

        case 3:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7644; /* *cond_fcmla270vnx8hf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7668; /* *cond_fcmla270vnx8hf_any_strict */

        case 4:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7648; /* *cond_fcmla270vnx4sf_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7672; /* *cond_fcmla270vnx4sf_any_strict */

        case 5:
          x9 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x9, operands[4])
              && 
#line 7392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7652; /* *cond_fcmla270vnx2df_4_strict */
          operands[5] = x9;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
              || !
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])))
            return -1;
          return 7676; /* *cond_fcmla270vnx2df_any_strict */

        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, 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 372:
      switch (XWINT (x4, 0))
        {
        case 0L:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern802 (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 4920 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6979; /* *cond_fscalevnx8hf_2_relaxed */
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
                  || !
#line 4965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6985; /* *cond_fscalevnx8hf_any_relaxed */

            case E_VNx4SFmode:
              if (pattern802 (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 4920 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6980; /* *cond_fscalevnx4sf_2_relaxed */
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
                  || !
#line 4965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6986; /* *cond_fscalevnx4sf_any_relaxed */

            case E_VNx2DFmode:
              if (pattern802 (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 4920 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6981; /* *cond_fscalevnx2df_2_relaxed */
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
                  || !
#line 4965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6987; /* *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 (pattern802 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0)
                return -1;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && 
#line 4943 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6982; /* *cond_fscalevnx8hf_2_strict */
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
                  || !
#line 5001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6988; /* *cond_fscalevnx8hf_any_strict */

            case E_VNx4SFmode:
              if (pattern802 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0)
                return -1;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && 
#line 4943 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6983; /* *cond_fscalevnx4sf_2_strict */
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
                  || !
#line 5001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6989; /* *cond_fscalevnx4sf_any_strict */

            case E_VNx2DFmode:
              if (pattern802 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0)
                return -1;
              x8 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x8, operands[2])
                  && 
#line 4943 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6984; /* *cond_fscalevnx2df_2_strict */
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
                  || !
#line 5001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 6990; /* *cond_fscalevnx2df_any_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 335:
      return recog_286 (x1, insn, pnum_clobbers);

    case 352:
      switch (pattern732 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7013; /* *cond_divvnx8hf_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7097; /* *cond_divvnx8hf_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7151; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7022; /* *cond_divvnx4sf_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7106; /* *cond_divvnx4sf_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7160; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7031; /* *cond_divvnx2df_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7115; /* *cond_divvnx2df_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7169; /* *cond_divvnx2df_any_relaxed */

        case 3:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7040; /* *cond_divvnx8hf_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7124; /* *cond_divvnx8hf_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7178; /* *cond_divvnx8hf_any_strict */

        case 4:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7049; /* *cond_divvnx4sf_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7133; /* *cond_divvnx4sf_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7187; /* *cond_divvnx4sf_any_strict */

        case 5:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7058; /* *cond_divvnx2df_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7142; /* *cond_divvnx2df_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_divvnx2df_any_strict */

        default:
          return -1;
        }

    case 353:
      return recog_290 (x1, insn, pnum_clobbers);

    case 354:
      return recog_289 (x1, insn, pnum_clobbers);

    case 355:
      return recog_288 (x1, insn, pnum_clobbers);

    case 356:
      return recog_287 (x1, insn, pnum_clobbers);

    case 359:
      return recog_285 (x1, insn, pnum_clobbers);

    case 360:
      switch (pattern732 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7019; /* *cond_mulxvnx8hf_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7103; /* *cond_mulxvnx8hf_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7157; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7028; /* *cond_mulxvnx4sf_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7112; /* *cond_mulxvnx4sf_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7166; /* *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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7037; /* *cond_mulxvnx2df_2_relaxed */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7121; /* *cond_mulxvnx2df_3_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7175; /* *cond_mulxvnx2df_any_relaxed */

        case 3:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7046; /* *cond_mulxvnx8hf_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7130; /* *cond_mulxvnx8hf_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7184; /* *cond_mulxvnx8hf_any_strict */

        case 4:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7055; /* *cond_mulxvnx4sf_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7139; /* *cond_mulxvnx4sf_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7193; /* *cond_mulxvnx4sf_any_strict */

        case 5:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7064; /* *cond_mulxvnx2df_2_strict */
          if (rtx_equal_p (x8, operands[3])
              && 
#line 5239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7148; /* *cond_mulxvnx2df_3_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7202; /* *cond_mulxvnx2df_any_strict */

        default:
          return -1;
        }

    case 374:
      return recog_284 (x1, insn, pnum_clobbers);

    case 336:
      switch (pattern732 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7255; /* *cond_cadd90vnx8hf_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7267; /* *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 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7257; /* *cond_cadd90vnx4sf_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7269; /* *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 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7259; /* *cond_cadd90vnx2df_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7271; /* *cond_cadd90vnx2df_any_relaxed */

        case 3:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7261; /* *cond_cadd90vnx8hf_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7273; /* *cond_cadd90vnx8hf_any_strict */

        case 4:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7263; /* *cond_cadd90vnx4sf_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7275; /* *cond_cadd90vnx4sf_any_strict */

        case 5:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7265; /* *cond_cadd90vnx2df_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7277; /* *cond_cadd90vnx2df_any_strict */

        default:
          return -1;
        }

    case 337:
      switch (pattern732 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7256; /* *cond_cadd270vnx8hf_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7268; /* *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 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7258; /* *cond_cadd270vnx4sf_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7270; /* *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 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7260; /* *cond_cadd270vnx2df_2_relaxed */
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7272; /* *cond_cadd270vnx2df_any_relaxed */

        case 3:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7262; /* *cond_cadd270vnx8hf_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7274; /* *cond_cadd270vnx8hf_any_strict */

        case 4:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7264; /* *cond_cadd270vnx4sf_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7276; /* *cond_cadd270vnx4sf_any_strict */

        case 5:
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && 
#line 5628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7266; /* *cond_cadd270vnx2df_2_strict */
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 7278; /* *cond_cadd270vnx2df_any_strict */

        default:
          return -1;
        }

    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;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      x2 = XEXP (x1, 1);
      if (pattern778 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7483; /* *cond_fnmavnx16qi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7493; /* *cond_fnmavnx16qi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx16QImode)
          || !
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7503; /* *cond_fnmavnx16qi_any */

    case E_VNx8QImode:
      x2 = XEXP (x1, 1);
      if (pattern778 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7484; /* *cond_fnmavnx8qi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7494; /* *cond_fnmavnx8qi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8QImode)
          || !
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7504; /* *cond_fnmavnx8qi_any */

    case E_VNx4QImode:
      x2 = XEXP (x1, 1);
      if (pattern778 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7485; /* *cond_fnmavnx4qi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7495; /* *cond_fnmavnx4qi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4QImode)
          || !
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7505; /* *cond_fnmavnx4qi_any */

    case E_VNx2QImode:
      x2 = XEXP (x1, 1);
      if (pattern778 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7486; /* *cond_fnmavnx2qi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7496; /* *cond_fnmavnx2qi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2QImode)
          || !
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7506; /* *cond_fnmavnx2qi_any */

    case E_VNx8HImode:
      x2 = XEXP (x1, 1);
      if (pattern778 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7487; /* *cond_fnmavnx8hi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7497; /* *cond_fnmavnx8hi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HImode)
          || !
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7507; /* *cond_fnmavnx8hi_any */

    case E_VNx4HImode:
      x2 = XEXP (x1, 1);
      if (pattern778 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7488; /* *cond_fnmavnx4hi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7498; /* *cond_fnmavnx4hi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4HImode)
          || !
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7508; /* *cond_fnmavnx4hi_any */

    case E_VNx2HImode:
      x2 = XEXP (x1, 1);
      if (pattern778 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7489; /* *cond_fnmavnx2hi_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7499; /* *cond_fnmavnx2hi_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2HImode)
          || !
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7509; /* *cond_fnmavnx2hi_any */

    case E_VNx4SImode:
      x2 = XEXP (x1, 1);
      if (pattern778 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7490; /* *cond_fnmavnx4si_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7500; /* *cond_fnmavnx4si_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SImode)
          || !
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7510; /* *cond_fnmavnx4si_any */

    case E_VNx2SImode:
      x2 = XEXP (x1, 1);
      if (pattern778 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7491; /* *cond_fnmavnx2si_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7501; /* *cond_fnmavnx2si_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2SImode)
          || !
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7511; /* *cond_fnmavnx2si_any */

    case E_VNx2DImode:
      x2 = XEXP (x1, 1);
      if (pattern778 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
        return -1;
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 6804 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7492; /* *cond_fnmavnx2di_2 */
      if (rtx_equal_p (x3, operands[4])
          && 
#line 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 7502; /* *cond_fnmavnx2di_4 */
      operands[5] = x3;
      if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DImode)
          || !
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7512; /* *cond_fnmavnx2di_any */

    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, x8, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern462 (x2))
    {
    case 0:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern329 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5982; /* *cond_subvnx16qi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6152; /* *cond_subvnx16qi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_subvnx16qi_any */

        case E_VNx8QImode:
          if (pattern329 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5999; /* *cond_subvnx8qi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6169; /* *cond_subvnx8qi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_subvnx8qi_any */

        case E_VNx4QImode:
          if (pattern329 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6016; /* *cond_subvnx4qi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6186; /* *cond_subvnx4qi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_subvnx4qi_any */

        case E_VNx2QImode:
          if (pattern329 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6033; /* *cond_subvnx2qi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6203; /* *cond_subvnx2qi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6373; /* *cond_subvnx2qi_any */

        case E_VNx8HImode:
          if (pattern329 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6050; /* *cond_subvnx8hi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6220; /* *cond_subvnx8hi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6390; /* *cond_subvnx8hi_any */

        case E_VNx4HImode:
          if (pattern329 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6067; /* *cond_subvnx4hi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6237; /* *cond_subvnx4hi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6407; /* *cond_subvnx4hi_any */

        case E_VNx2HImode:
          if (pattern329 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6084; /* *cond_subvnx2hi_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6254; /* *cond_subvnx2hi_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6424; /* *cond_subvnx2hi_any */

        case E_VNx4SImode:
          if (pattern329 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6101; /* *cond_subvnx4si_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6271; /* *cond_subvnx4si_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6441; /* *cond_subvnx4si_any */

        case E_VNx2SImode:
          if (pattern329 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6118; /* *cond_subvnx2si_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6288; /* *cond_subvnx2si_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6458; /* *cond_subvnx2si_any */

        case E_VNx2DImode:
          if (pattern329 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          x4 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x4, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6135; /* *cond_subvnx2di_2 */
          if (rtx_equal_p (x4, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6305; /* *cond_subvnx2di_3 */
          operands[4] = x4;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_subvnx2di_any */

        default:
          return -1;
        }

    case 1:
      return recog_296 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6545; /* *aarch64_cond_sabdvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6565; /* *aarch64_cond_sabdvnx16qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6585; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6547; /* *aarch64_cond_sabdvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6567; /* *aarch64_cond_sabdvnx8qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6587; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6549; /* *aarch64_cond_sabdvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6569; /* *aarch64_cond_sabdvnx4qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6589; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6551; /* *aarch64_cond_sabdvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6571; /* *aarch64_cond_sabdvnx2qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6591; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6553; /* *aarch64_cond_sabdvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6573; /* *aarch64_cond_sabdvnx8hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6593; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6555; /* *aarch64_cond_sabdvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6575; /* *aarch64_cond_sabdvnx4hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6595; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6557; /* *aarch64_cond_sabdvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6577; /* *aarch64_cond_sabdvnx2hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6597; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6559; /* *aarch64_cond_sabdvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6579; /* *aarch64_cond_sabdvnx4si_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6599; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6561; /* *aarch64_cond_sabdvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6581; /* *aarch64_cond_sabdvnx2si_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6601; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6563; /* *aarch64_cond_sabdvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6583; /* *aarch64_cond_sabdvnx2di_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6603; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6546; /* *aarch64_cond_uabdvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6566; /* *aarch64_cond_uabdvnx16qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6586; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6548; /* *aarch64_cond_uabdvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6568; /* *aarch64_cond_uabdvnx8qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6588; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6550; /* *aarch64_cond_uabdvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6570; /* *aarch64_cond_uabdvnx4qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6590; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6552; /* *aarch64_cond_uabdvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6572; /* *aarch64_cond_uabdvnx2qi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6592; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6554; /* *aarch64_cond_uabdvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6574; /* *aarch64_cond_uabdvnx8hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6594; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6556; /* *aarch64_cond_uabdvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6576; /* *aarch64_cond_uabdvnx4hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6596; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6558; /* *aarch64_cond_uabdvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6578; /* *aarch64_cond_uabdvnx2hi_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6598; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6560; /* *aarch64_cond_uabdvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6580; /* *aarch64_cond_uabdvnx4si_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6600; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6562; /* *aarch64_cond_uabdvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6582; /* *aarch64_cond_uabdvnx2si_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6602; /* *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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6564; /* *aarch64_cond_uabdvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6584; /* *aarch64_cond_uabdvnx2di_3 */
      operands[5] = x7;
      operands[6] = x9;
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6604; /* *aarch64_cond_uabdvnx2di_any */

    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, 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 (pattern734 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3166 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5643; /* *cond_uxtvnx16qi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
                  || !
#line 3190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5653; /* *cond_uxtvnx16qi_any */

            case E_VNx8QImode:
              if (pattern734 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3166 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5644; /* *cond_uxtvnx8qi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
                  || !
#line 3190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5654; /* *cond_uxtvnx8qi_any */

            case E_VNx4QImode:
              if (pattern734 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3166 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5645; /* *cond_uxtvnx4qi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
                  || !
#line 3190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5655; /* *cond_uxtvnx4qi_any */

            case E_VNx2QImode:
              if (pattern734 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3166 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5646; /* *cond_uxtvnx2qi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
                  || !
#line 3190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5656; /* *cond_uxtvnx2qi_any */

            case E_VNx8HImode:
              if (pattern734 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3166 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5647; /* *cond_uxtvnx8hi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
                  || !
#line 3190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5657; /* *cond_uxtvnx8hi_any */

            case E_VNx4HImode:
              if (pattern734 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3166 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5648; /* *cond_uxtvnx4hi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
                  || !
#line 3190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5658; /* *cond_uxtvnx4hi_any */

            case E_VNx2HImode:
              if (pattern734 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3166 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5649; /* *cond_uxtvnx2hi_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
                  || !
#line 3190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5659; /* *cond_uxtvnx2hi_any */

            case E_VNx4SImode:
              if (pattern734 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3166 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5650; /* *cond_uxtvnx4si_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
                  || !
#line 3190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5660; /* *cond_uxtvnx4si_any */

            case E_VNx2SImode:
              if (pattern734 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3166 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5651; /* *cond_uxtvnx2si_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
                  || !
#line 3190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5661; /* *cond_uxtvnx2si_any */

            case E_VNx2DImode:
              if (pattern734 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3166 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5652; /* *cond_uxtvnx2di_2 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
                  || !
#line 3190 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
                return -1;
              return 5662; /* *cond_uxtvnx2di_any */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern329 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5991; /* *cond_andvnx16qi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6161; /* *cond_andvnx16qi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
                  || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_andvnx16qi_any */

            case E_VNx8QImode:
              if (pattern329 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6008; /* *cond_andvnx8qi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6178; /* *cond_andvnx8qi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
                  || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_andvnx8qi_any */

            case E_VNx4QImode:
              if (pattern329 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6025; /* *cond_andvnx4qi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6195; /* *cond_andvnx4qi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
                  || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_andvnx4qi_any */

            case E_VNx2QImode:
              if (pattern329 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6042; /* *cond_andvnx2qi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6212; /* *cond_andvnx2qi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
                  || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6382; /* *cond_andvnx2qi_any */

            case E_VNx8HImode:
              if (pattern329 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6059; /* *cond_andvnx8hi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6229; /* *cond_andvnx8hi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
                  || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6399; /* *cond_andvnx8hi_any */

            case E_VNx4HImode:
              if (pattern329 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6076; /* *cond_andvnx4hi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6246; /* *cond_andvnx4hi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
                  || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6416; /* *cond_andvnx4hi_any */

            case E_VNx2HImode:
              if (pattern329 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6093; /* *cond_andvnx2hi_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6263; /* *cond_andvnx2hi_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
                  || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6433; /* *cond_andvnx2hi_any */

            case E_VNx4SImode:
              if (pattern329 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6110; /* *cond_andvnx4si_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6280; /* *cond_andvnx4si_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
                  || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6450; /* *cond_andvnx4si_any */

            case E_VNx2SImode:
              if (pattern329 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6127; /* *cond_andvnx2si_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6297; /* *cond_andvnx2si_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
                  || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_andvnx2si_any */

            case E_VNx2DImode:
              if (pattern329 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              x7 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x7, operands[2])
                  && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6144; /* *cond_andvnx2di_2 */
              if (rtx_equal_p (x7, operands[3])
                  && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6314; /* *cond_andvnx2di_3 */
              operands[4] = x7;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
                  || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *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 (pattern695 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6713; /* *cond_bicvnx16qi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
              || !
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6723; /* *cond_bicvnx16qi_any */

        case E_VNx8QImode:
          if (pattern695 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6714; /* *cond_bicvnx8qi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
              || !
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6724; /* *cond_bicvnx8qi_any */

        case E_VNx4QImode:
          if (pattern695 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6715; /* *cond_bicvnx4qi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
              || !
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6725; /* *cond_bicvnx4qi_any */

        case E_VNx2QImode:
          if (pattern695 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6716; /* *cond_bicvnx2qi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
              || !
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6726; /* *cond_bicvnx2qi_any */

        case E_VNx8HImode:
          if (pattern695 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6717; /* *cond_bicvnx8hi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
              || !
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6727; /* *cond_bicvnx8hi_any */

        case E_VNx4HImode:
          if (pattern695 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6718; /* *cond_bicvnx4hi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
              || !
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6728; /* *cond_bicvnx4hi_any */

        case E_VNx2HImode:
          if (pattern695 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6719; /* *cond_bicvnx2hi_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
              || !
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6729; /* *cond_bicvnx2hi_any */

        case E_VNx4SImode:
          if (pattern695 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6720; /* *cond_bicvnx4si_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
              || !
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6730; /* *cond_bicvnx4si_any */

        case E_VNx2SImode:
          if (pattern695 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6721; /* *cond_bicvnx2si_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
              || !
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6731; /* *cond_bicvnx2si_any */

        case E_VNx2DImode:
          if (pattern695 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4507 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6722; /* *cond_bicvnx2di_2 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
              || !
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6732; /* *cond_bicvnx2di_any */

        default:
          return -1;
        }

    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, x4, x5, x6;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5223; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7716; /* aarch64_sel_dupvnx16qi */

    case E_VNx8QImode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5224; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7717; /* aarch64_sel_dupvnx8qi */

    case E_VNx4QImode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5225; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7718; /* aarch64_sel_dupvnx4qi */

    case E_VNx2QImode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5226; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7719; /* aarch64_sel_dupvnx2qi */

    case E_VNx8HImode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5227; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7720; /* aarch64_sel_dupvnx8hi */

    case E_VNx4HImode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5228; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7721; /* aarch64_sel_dupvnx4hi */

    case E_VNx2HImode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5229; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7722; /* aarch64_sel_dupvnx2hi */

    case E_VNx8HFmode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5230; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7723; /* aarch64_sel_dupvnx8hf */

    case E_VNx4HFmode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5231; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7724; /* aarch64_sel_dupvnx4hf */

    case E_VNx2HFmode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5232; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7725; /* aarch64_sel_dupvnx2hf */

    case E_VNx8BFmode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5233; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7726; /* aarch64_sel_dupvnx8bf */

    case E_VNx4BFmode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5234; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7727; /* aarch64_sel_dupvnx4bf */

    case E_VNx2BFmode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5235; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7728; /* aarch64_sel_dupvnx2bf */

    case E_VNx4SImode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5236; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7729; /* aarch64_sel_dupvnx4si */

    case E_VNx2SImode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5237; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7730; /* aarch64_sel_dupvnx2si */

    case E_VNx4SFmode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5238; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7731; /* aarch64_sel_dupvnx4sf */

    case E_VNx2SFmode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5239; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7732; /* aarch64_sel_dupvnx2sf */

    case E_VNx2DImode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5240; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7733; /* aarch64_sel_dupvnx2di */

    case E_VNx2DFmode:
      x2 = XEXP (x1, 1);
      if (pattern504 (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 2599 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5241; /* 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 7648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7734; /* aarch64_sel_dupvnx2df */

    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, 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 (pattern505 (x2))
        {
        case 0:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5981; /* *cond_addvnx16qi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6151; /* *cond_addvnx16qi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_addvnx16qi_any */

        case 1:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5998; /* *cond_addvnx8qi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6168; /* *cond_addvnx8qi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_addvnx8qi_any */

        case 2:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6015; /* *cond_addvnx4qi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6185; /* *cond_addvnx4qi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_addvnx4qi_any */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6032; /* *cond_addvnx2qi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6202; /* *cond_addvnx2qi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6372; /* *cond_addvnx2qi_any */

        case 4:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6049; /* *cond_addvnx8hi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6219; /* *cond_addvnx8hi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6389; /* *cond_addvnx8hi_any */

        case 5:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6066; /* *cond_addvnx4hi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6236; /* *cond_addvnx4hi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6406; /* *cond_addvnx4hi_any */

        case 6:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6083; /* *cond_addvnx2hi_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6253; /* *cond_addvnx2hi_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6423; /* *cond_addvnx2hi_any */

        case 7:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6100; /* *cond_addvnx4si_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6270; /* *cond_addvnx4si_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6440; /* *cond_addvnx4si_any */

        case 8:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6117; /* *cond_addvnx2si_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6287; /* *cond_addvnx2si_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6457; /* *cond_addvnx2si_any */

        case 9:
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6134; /* *cond_addvnx2di_2 */
          if (rtx_equal_p (x6, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6304; /* *cond_addvnx2di_3 */
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *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 (pattern735 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7443; /* *cond_fmavnx16qi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7453; /* *cond_fmavnx16qi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx16QImode)
              || !
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7463; /* *cond_fmavnx16qi_any */

        case E_VNx8QImode:
          if (pattern735 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7444; /* *cond_fmavnx8qi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7454; /* *cond_fmavnx8qi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8QImode)
              || !
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7464; /* *cond_fmavnx8qi_any */

        case E_VNx4QImode:
          if (pattern735 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7445; /* *cond_fmavnx4qi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7455; /* *cond_fmavnx4qi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4QImode)
              || !
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7465; /* *cond_fmavnx4qi_any */

        case E_VNx2QImode:
          if (pattern735 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7446; /* *cond_fmavnx2qi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7456; /* *cond_fmavnx2qi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2QImode)
              || !
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7466; /* *cond_fmavnx2qi_any */

        case E_VNx8HImode:
          if (pattern735 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7447; /* *cond_fmavnx8hi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7457; /* *cond_fmavnx8hi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HImode)
              || !
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7467; /* *cond_fmavnx8hi_any */

        case E_VNx4HImode:
          if (pattern735 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7448; /* *cond_fmavnx4hi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7458; /* *cond_fmavnx4hi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4HImode)
              || !
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fmavnx4hi_any */

        case E_VNx2HImode:
          if (pattern735 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7449; /* *cond_fmavnx2hi_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7459; /* *cond_fmavnx2hi_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2HImode)
              || !
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fmavnx2hi_any */

        case E_VNx4SImode:
          if (pattern735 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7450; /* *cond_fmavnx4si_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7460; /* *cond_fmavnx4si_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SImode)
              || !
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fmavnx4si_any */

        case E_VNx2SImode:
          if (pattern735 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7451; /* *cond_fmavnx2si_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7461; /* *cond_fmavnx2si_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2SImode)
              || !
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fmavnx2si_any */

        case E_VNx2DImode:
          if (pattern735 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && 
#line 6663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7452; /* *cond_fmavnx2di_2 */
          if (rtx_equal_p (x6, operands[4])
              && 
#line 6682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 7462; /* *cond_fmavnx2di_4 */
          operands[5] = x6;
          if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DImode)
              || !
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_fmavnx2di_any */

        default:
          return -1;
        }

    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, 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 (pattern329 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5988; /* *cond_ashlvnx16qi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6158; /* *cond_ashlvnx16qi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_ashlvnx16qi_any */

        case E_VNx8QImode:
          if (pattern329 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6005; /* *cond_ashlvnx8qi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6175; /* *cond_ashlvnx8qi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_ashlvnx8qi_any */

        case E_VNx4QImode:
          if (pattern329 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6022; /* *cond_ashlvnx4qi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6192; /* *cond_ashlvnx4qi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_ashlvnx4qi_any */

        case E_VNx2QImode:
          if (pattern329 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6039; /* *cond_ashlvnx2qi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6209; /* *cond_ashlvnx2qi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6379; /* *cond_ashlvnx2qi_any */

        case E_VNx8HImode:
          if (pattern329 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6056; /* *cond_ashlvnx8hi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6226; /* *cond_ashlvnx8hi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6396; /* *cond_ashlvnx8hi_any */

        case E_VNx4HImode:
          if (pattern329 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6073; /* *cond_ashlvnx4hi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6243; /* *cond_ashlvnx4hi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6413; /* *cond_ashlvnx4hi_any */

        case E_VNx2HImode:
          if (pattern329 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6090; /* *cond_ashlvnx2hi_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6260; /* *cond_ashlvnx2hi_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6430; /* *cond_ashlvnx2hi_any */

        case E_VNx4SImode:
          if (pattern329 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6107; /* *cond_ashlvnx4si_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6277; /* *cond_ashlvnx4si_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6447; /* *cond_ashlvnx4si_any */

        case E_VNx2SImode:
          if (pattern329 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6124; /* *cond_ashlvnx2si_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6294; /* *cond_ashlvnx2si_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6464; /* *cond_ashlvnx2si_any */

        case E_VNx2DImode:
          if (pattern329 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6141; /* *cond_ashlvnx2di_2 */
          if (rtx_equal_p (x7, operands[3])
              && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6311; /* *cond_ashlvnx2di_3 */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
              || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_ashlvnx2di_any */

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern696 (x2, E_VNx16QImode, E_VNx16BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6793; /* *cond_ashlvnx16qi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
              || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6823; /* *cond_ashlvnx16qi_any_const */

        case E_VNx8QImode:
          if (pattern696 (x2, E_VNx8QImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6796; /* *cond_ashlvnx8qi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
              || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6826; /* *cond_ashlvnx8qi_any_const */

        case E_VNx4QImode:
          if (pattern696 (x2, E_VNx4QImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6799; /* *cond_ashlvnx4qi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
              || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6829; /* *cond_ashlvnx4qi_any_const */

        case E_VNx2QImode:
          if (pattern696 (x2, E_VNx2QImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6802; /* *cond_ashlvnx2qi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
              || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6832; /* *cond_ashlvnx2qi_any_const */

        case E_VNx8HImode:
          if (pattern696 (x2, E_VNx8HImode, E_VNx8BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6805; /* *cond_ashlvnx8hi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
              || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6835; /* *cond_ashlvnx8hi_any_const */

        case E_VNx4HImode:
          if (pattern696 (x2, E_VNx4HImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6808; /* *cond_ashlvnx4hi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
              || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6838; /* *cond_ashlvnx4hi_any_const */

        case E_VNx2HImode:
          if (pattern696 (x2, E_VNx2HImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6811; /* *cond_ashlvnx2hi_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
              || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6841; /* *cond_ashlvnx2hi_any_const */

        case E_VNx4SImode:
          if (pattern696 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6814; /* *cond_ashlvnx4si_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
              || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6844; /* *cond_ashlvnx4si_any_const */

        case E_VNx2SImode:
          if (pattern696 (x2, E_VNx2SImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6817; /* *cond_ashlvnx2si_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
              || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6847; /* *cond_ashlvnx2si_any_const */

        case E_VNx2DImode:
          if (pattern696 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
            return -1;
          x7 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x7, operands[2])
              && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 6820; /* *cond_ashlvnx2di_2_const */
          operands[4] = x7;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
              || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
            return -1;
          return 6850; /* *cond_ashlvnx2di_any_const */

        default:
          return -1;
        }

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern439 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5989; /* *cond_ashrvnx16qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6159; /* *cond_ashrvnx16qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_ashrvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6006; /* *cond_ashrvnx8qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6176; /* *cond_ashrvnx8qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_ashrvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6023; /* *cond_ashrvnx4qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6193; /* *cond_ashrvnx4qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_ashrvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6040; /* *cond_ashrvnx2qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6210; /* *cond_ashrvnx2qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6380; /* *cond_ashrvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6057; /* *cond_ashrvnx8hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6227; /* *cond_ashrvnx8hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6397; /* *cond_ashrvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6074; /* *cond_ashrvnx4hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6244; /* *cond_ashrvnx4hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6414; /* *cond_ashrvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6091; /* *cond_ashrvnx2hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6261; /* *cond_ashrvnx2hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6431; /* *cond_ashrvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6108; /* *cond_ashrvnx4si_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6278; /* *cond_ashrvnx4si_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6448; /* *cond_ashrvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6125; /* *cond_ashrvnx2si_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6295; /* *cond_ashrvnx2si_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6465; /* *cond_ashrvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6142; /* *cond_ashrvnx2di_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6312; /* *cond_ashrvnx2di_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_ashrvnx2di_any */

    case 10:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6794; /* *cond_ashrvnx16qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6824; /* *cond_ashrvnx16qi_any_const */

    case 11:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6797; /* *cond_ashrvnx8qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6827; /* *cond_ashrvnx8qi_any_const */

    case 12:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6800; /* *cond_ashrvnx4qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6830; /* *cond_ashrvnx4qi_any_const */

    case 13:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6803; /* *cond_ashrvnx2qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6833; /* *cond_ashrvnx2qi_any_const */

    case 14:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6806; /* *cond_ashrvnx8hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6836; /* *cond_ashrvnx8hi_any_const */

    case 15:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6809; /* *cond_ashrvnx4hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6839; /* *cond_ashrvnx4hi_any_const */

    case 16:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6812; /* *cond_ashrvnx2hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6842; /* *cond_ashrvnx2hi_any_const */

    case 17:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6815; /* *cond_ashrvnx4si_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6845; /* *cond_ashrvnx4si_any_const */

    case 18:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6818; /* *cond_ashrvnx2si_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6848; /* *cond_ashrvnx2si_any_const */

    case 19:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6821; /* *cond_ashrvnx2di_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6851; /* *cond_ashrvnx2di_any_const */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern439 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5990; /* *cond_lshrvnx16qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6160; /* *cond_lshrvnx16qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_lshrvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6007; /* *cond_lshrvnx8qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6177; /* *cond_lshrvnx8qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_lshrvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6024; /* *cond_lshrvnx4qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6194; /* *cond_lshrvnx4qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_lshrvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6041; /* *cond_lshrvnx2qi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6211; /* *cond_lshrvnx2qi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6381; /* *cond_lshrvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6058; /* *cond_lshrvnx8hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6228; /* *cond_lshrvnx8hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6398; /* *cond_lshrvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6075; /* *cond_lshrvnx4hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6245; /* *cond_lshrvnx4hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6415; /* *cond_lshrvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6092; /* *cond_lshrvnx2hi_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6262; /* *cond_lshrvnx2hi_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6432; /* *cond_lshrvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6109; /* *cond_lshrvnx4si_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6279; /* *cond_lshrvnx4si_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6449; /* *cond_lshrvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6126; /* *cond_lshrvnx2si_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6296; /* *cond_lshrvnx2si_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_lshrvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6143; /* *cond_lshrvnx2di_2 */
      if (rtx_equal_p (x3, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6313; /* *cond_lshrvnx2di_3 */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_lshrvnx2di_any */

    case 10:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6795; /* *cond_lshrvnx16qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6825; /* *cond_lshrvnx16qi_any_const */

    case 11:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6798; /* *cond_lshrvnx8qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6828; /* *cond_lshrvnx8qi_any_const */

    case 12:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6801; /* *cond_lshrvnx4qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6831; /* *cond_lshrvnx4qi_any_const */

    case 13:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6804; /* *cond_lshrvnx2qi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6834; /* *cond_lshrvnx2qi_any_const */

    case 14:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6807; /* *cond_lshrvnx8hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6837; /* *cond_lshrvnx8hi_any_const */

    case 15:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6810; /* *cond_lshrvnx4hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6840; /* *cond_lshrvnx4hi_any_const */

    case 16:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6813; /* *cond_lshrvnx2hi_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6843; /* *cond_lshrvnx2hi_any_const */

    case 17:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6816; /* *cond_lshrvnx4si_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6846; /* *cond_lshrvnx4si_any_const */

    case 18:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6819; /* *cond_lshrvnx2si_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6849; /* *cond_lshrvnx2si_any_const */

    case 19:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 4642 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6822; /* *cond_lshrvnx2di_2_const */
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])))
        return -1;
      return 6852; /* *cond_lshrvnx2di_any_const */

    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, 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 67:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern731 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                  || !
#line 3067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 8 >= 8))
                return -1;
              return 5601; /* cond_rbitvnx16qi */

            case E_VNx8HImode:
              if (pattern731 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 3067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 8))
                return -1;
              return 5602; /* cond_rbitvnx8hi */

            case E_VNx4SImode:
              if (pattern731 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 8))
                return -1;
              return 5604; /* cond_rbitvnx4si */

            case E_VNx2DImode:
              if (pattern731 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 8))
                return -1;
              return 5607; /* cond_rbitvnx2di */

            default:
              return -1;
            }

        case 302:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern731 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 3067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
                return -1;
              return 5603; /* cond_revbvnx8hi */

            case E_VNx4SImode:
              if (pattern731 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
                return -1;
              return 5605; /* cond_revbvnx4si */

            case E_VNx2DImode:
              if (pattern731 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
                return -1;
              return 5608; /* cond_revbvnx2di */

            default:
              return -1;
            }

        case 303:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx4SImode:
              if (pattern731 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 3067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
                return -1;
              return 5606; /* cond_revhvnx4si */

            case E_VNx2DImode:
              if (pattern731 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 3067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
                return -1;
              return 5609; /* cond_revhvnx2di */

            default:
              return -1;
            }

        case 304:
          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 3067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
            return -1;
          return 5610; /* cond_revwvnx2di */

        default:
          return -1;
        }

    case 3:
      return recog_293 (x1, insn, pnum_clobbers);

    case 2:
      switch (XINT (x4, 1))
        {
        case 306:
          switch (pattern598 (x2))
            {
            case 0:
              if (!
#line 4276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6641; /* *cond_smulhvnx16qi_2 */

            case 1:
              if (!
#line 4276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6643; /* *cond_smulhvnx8hi_2 */

            case 2:
              if (!
#line 4276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6645; /* *cond_smulhvnx4si_2 */

            case 3:
              if (!
#line 4276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6647; /* *cond_smulhvnx2di_2 */

            case 4:
              if (!
#line 4293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6649; /* *cond_smulhvnx16qi_z */

            case 5:
              if (!
#line 4293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6651; /* *cond_smulhvnx8hi_z */

            case 6:
              if (!
#line 4293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6653; /* *cond_smulhvnx4si_z */

            case 7:
              if (!
#line 4293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6655; /* *cond_smulhvnx2di_z */

            default:
              return -1;
            }

        case 307:
          switch (pattern598 (x2))
            {
            case 0:
              if (!
#line 4276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6642; /* *cond_umulhvnx16qi_2 */

            case 1:
              if (!
#line 4276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6644; /* *cond_umulhvnx8hi_2 */

            case 2:
              if (!
#line 4276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6646; /* *cond_umulhvnx4si_2 */

            case 3:
              if (!
#line 4276 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6648; /* *cond_umulhvnx2di_2 */

            case 4:
              if (!
#line 4293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6650; /* *cond_umulhvnx16qi_z */

            case 5:
              if (!
#line 4293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6652; /* *cond_umulhvnx8hi_z */

            case 6:
              if (!
#line 4293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6654; /* *cond_umulhvnx4si_z */

            case 7:
              if (!
#line 4293 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6656; /* *cond_umulhvnx2di_z */

            default:
              return -1;
            }

        case 379:
          switch (pattern601 (x2))
            {
            case 0:
              if (!
#line 4712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6862; /* *cond_lslvnx16qi_m */

            case 1:
              if (!
#line 4712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6865; /* *cond_lslvnx8hi_m */

            case 2:
              if (!
#line 4712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6868; /* *cond_lslvnx4si_m */

            case 3:
              if (!
#line 4729 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6871; /* *cond_lslvnx16qi_z */

            case 4:
              if (!
#line 4729 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6874; /* *cond_lslvnx8hi_z */

            case 5:
              if (!
#line 4729 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6877; /* *cond_lslvnx4si_z */

            default:
              return -1;
            }

        case 380:
          switch (pattern601 (x2))
            {
            case 0:
              if (!
#line 4712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6863; /* *cond_asrvnx16qi_m */

            case 1:
              if (!
#line 4712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6866; /* *cond_asrvnx8hi_m */

            case 2:
              if (!
#line 4712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6869; /* *cond_asrvnx4si_m */

            case 3:
              if (!
#line 4729 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6872; /* *cond_asrvnx16qi_z */

            case 4:
              if (!
#line 4729 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6875; /* *cond_asrvnx8hi_z */

            case 5:
              if (!
#line 4729 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6878; /* *cond_asrvnx4si_z */

            default:
              return -1;
            }

        case 381:
          switch (pattern601 (x2))
            {
            case 0:
              if (!
#line 4712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6864; /* *cond_lsrvnx16qi_m */

            case 1:
              if (!
#line 4712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6867; /* *cond_lsrvnx8hi_m */

            case 2:
              if (!
#line 4712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6870; /* *cond_lsrvnx4si_m */

            case 3:
              if (!
#line 4729 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6873; /* *cond_lsrvnx16qi_z */

            case 4:
              if (!
#line 4729 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6876; /* *cond_lsrvnx8hi_z */

            case 5:
              if (!
#line 4729 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6879; /* *cond_lsrvnx4si_z */

            default:
              return -1;
            }

        case 119:
          return recog_283 (x1, insn, pnum_clobbers);

        default:
          return -1;
        }

    case 4:
      return recog_295 (x1, insn, pnum_clobbers);

    case 5:
      return recog_294 (x1, insn, pnum_clobbers);

    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 (pattern505 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5997; /* *cond_ussubvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6167; /* *cond_ussubvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6337; /* *cond_ussubvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6014; /* *cond_ussubvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6184; /* *cond_ussubvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6354; /* *cond_ussubvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6031; /* *cond_ussubvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6201; /* *cond_ussubvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6371; /* *cond_ussubvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6048; /* *cond_ussubvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6218; /* *cond_ussubvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6388; /* *cond_ussubvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6065; /* *cond_ussubvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6235; /* *cond_ussubvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6405; /* *cond_ussubvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6082; /* *cond_ussubvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6252; /* *cond_ussubvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6422; /* *cond_ussubvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6099; /* *cond_ussubvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6269; /* *cond_ussubvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6439; /* *cond_ussubvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6116; /* *cond_ussubvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6286; /* *cond_ussubvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6456; /* *cond_ussubvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6133; /* *cond_ussubvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6303; /* *cond_ussubvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6473; /* *cond_ussubvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6150; /* *cond_ussubvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6320; /* *cond_ussubvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6490; /* *cond_ussubvnx2di_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 (pattern505 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5996; /* *cond_sssubvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6166; /* *cond_sssubvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6336; /* *cond_sssubvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6013; /* *cond_sssubvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6183; /* *cond_sssubvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6353; /* *cond_sssubvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6030; /* *cond_sssubvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6200; /* *cond_sssubvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6370; /* *cond_sssubvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6047; /* *cond_sssubvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6217; /* *cond_sssubvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6387; /* *cond_sssubvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6064; /* *cond_sssubvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6234; /* *cond_sssubvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6404; /* *cond_sssubvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6081; /* *cond_sssubvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6251; /* *cond_sssubvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6421; /* *cond_sssubvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6098; /* *cond_sssubvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6268; /* *cond_sssubvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6438; /* *cond_sssubvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6115; /* *cond_sssubvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6285; /* *cond_sssubvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6455; /* *cond_sssubvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6132; /* *cond_sssubvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6302; /* *cond_sssubvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6472; /* *cond_sssubvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6149; /* *cond_sssubvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6319; /* *cond_sssubvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6489; /* *cond_sssubvnx2di_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 (pattern505 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5995; /* *cond_usaddvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6165; /* *cond_usaddvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6335; /* *cond_usaddvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6012; /* *cond_usaddvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6182; /* *cond_usaddvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6352; /* *cond_usaddvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6029; /* *cond_usaddvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6199; /* *cond_usaddvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6369; /* *cond_usaddvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6046; /* *cond_usaddvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6216; /* *cond_usaddvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6386; /* *cond_usaddvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6063; /* *cond_usaddvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6233; /* *cond_usaddvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6403; /* *cond_usaddvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6080; /* *cond_usaddvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6250; /* *cond_usaddvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6420; /* *cond_usaddvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6097; /* *cond_usaddvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6267; /* *cond_usaddvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6437; /* *cond_usaddvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6114; /* *cond_usaddvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6284; /* *cond_usaddvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6454; /* *cond_usaddvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6131; /* *cond_usaddvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6301; /* *cond_usaddvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6471; /* *cond_usaddvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6148; /* *cond_usaddvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6318; /* *cond_usaddvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6488; /* *cond_usaddvnx2di_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 (pattern505 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5994; /* *cond_ssaddvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6164; /* *cond_ssaddvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6334; /* *cond_ssaddvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6011; /* *cond_ssaddvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6181; /* *cond_ssaddvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6351; /* *cond_ssaddvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6028; /* *cond_ssaddvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6198; /* *cond_ssaddvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6368; /* *cond_ssaddvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6045; /* *cond_ssaddvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6215; /* *cond_ssaddvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6385; /* *cond_ssaddvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6062; /* *cond_ssaddvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6232; /* *cond_ssaddvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6402; /* *cond_ssaddvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6079; /* *cond_ssaddvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6249; /* *cond_ssaddvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6419; /* *cond_ssaddvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6096; /* *cond_ssaddvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6266; /* *cond_ssaddvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6436; /* *cond_ssaddvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6113; /* *cond_ssaddvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6283; /* *cond_ssaddvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6453; /* *cond_ssaddvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6130; /* *cond_ssaddvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6300; /* *cond_ssaddvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6470; /* *cond_ssaddvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && (
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6147; /* *cond_ssaddvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && (
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 6317; /* *cond_ssaddvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 6487; /* *cond_ssaddvnx2di_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 (pattern505 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5993; /* *cond_xorvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6163; /* *cond_xorvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_xorvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6010; /* *cond_xorvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6180; /* *cond_xorvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_xorvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6027; /* *cond_xorvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6197; /* *cond_xorvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_xorvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6044; /* *cond_xorvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6214; /* *cond_xorvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6384; /* *cond_xorvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6061; /* *cond_xorvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6231; /* *cond_xorvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6401; /* *cond_xorvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6078; /* *cond_xorvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6248; /* *cond_xorvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6418; /* *cond_xorvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6095; /* *cond_xorvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6265; /* *cond_xorvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6435; /* *cond_xorvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6112; /* *cond_xorvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6282; /* *cond_xorvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6452; /* *cond_xorvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6129; /* *cond_xorvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6299; /* *cond_xorvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_xorvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6146; /* *cond_xorvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6316; /* *cond_xorvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6486; /* *cond_xorvnx2di_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 (pattern505 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5992; /* *cond_iorvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6162; /* *cond_iorvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_iorvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6009; /* *cond_iorvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6179; /* *cond_iorvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_iorvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6026; /* *cond_iorvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6196; /* *cond_iorvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_iorvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6043; /* *cond_iorvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6213; /* *cond_iorvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6383; /* *cond_iorvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6060; /* *cond_iorvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6230; /* *cond_iorvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6400; /* *cond_iorvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6077; /* *cond_iorvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6247; /* *cond_iorvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6417; /* *cond_iorvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6094; /* *cond_iorvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6264; /* *cond_iorvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6434; /* *cond_iorvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6111; /* *cond_iorvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6281; /* *cond_iorvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6451; /* *cond_iorvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6128; /* *cond_iorvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6298; /* *cond_iorvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_iorvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6145; /* *cond_iorvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6315; /* *cond_iorvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_iorvnx2di_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 (pattern505 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5987; /* *cond_uminvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6157; /* *cond_uminvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_uminvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6004; /* *cond_uminvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6174; /* *cond_uminvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_uminvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6021; /* *cond_uminvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6191; /* *cond_uminvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_uminvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6038; /* *cond_uminvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6208; /* *cond_uminvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6378; /* *cond_uminvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6055; /* *cond_uminvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6225; /* *cond_uminvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6395; /* *cond_uminvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6072; /* *cond_uminvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6242; /* *cond_uminvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6412; /* *cond_uminvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6089; /* *cond_uminvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6259; /* *cond_uminvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6429; /* *cond_uminvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6106; /* *cond_uminvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6276; /* *cond_uminvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6446; /* *cond_uminvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6123; /* *cond_uminvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6293; /* *cond_uminvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6463; /* *cond_uminvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6140; /* *cond_uminvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6310; /* *cond_uminvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_uminvnx2di_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, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern505 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5986; /* *cond_sminvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6156; /* *cond_sminvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_sminvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6003; /* *cond_sminvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6173; /* *cond_sminvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_sminvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6020; /* *cond_sminvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6190; /* *cond_sminvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_sminvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6037; /* *cond_sminvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6207; /* *cond_sminvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6377; /* *cond_sminvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6054; /* *cond_sminvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6224; /* *cond_sminvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6394; /* *cond_sminvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6071; /* *cond_sminvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6241; /* *cond_sminvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6411; /* *cond_sminvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6088; /* *cond_sminvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6258; /* *cond_sminvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6428; /* *cond_sminvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6105; /* *cond_sminvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6275; /* *cond_sminvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6445; /* *cond_sminvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6122; /* *cond_sminvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6292; /* *cond_sminvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6462; /* *cond_sminvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6139; /* *cond_sminvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6309; /* *cond_sminvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_sminvnx2di_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, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern505 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5985; /* *cond_umaxvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6155; /* *cond_umaxvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_umaxvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6002; /* *cond_umaxvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6172; /* *cond_umaxvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_umaxvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6019; /* *cond_umaxvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6189; /* *cond_umaxvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_umaxvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6036; /* *cond_umaxvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6206; /* *cond_umaxvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6376; /* *cond_umaxvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6053; /* *cond_umaxvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6223; /* *cond_umaxvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6393; /* *cond_umaxvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6070; /* *cond_umaxvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6240; /* *cond_umaxvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6410; /* *cond_umaxvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6087; /* *cond_umaxvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6257; /* *cond_umaxvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6427; /* *cond_umaxvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6104; /* *cond_umaxvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6274; /* *cond_umaxvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6444; /* *cond_umaxvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6121; /* *cond_umaxvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6291; /* *cond_umaxvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6461; /* *cond_umaxvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6138; /* *cond_umaxvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6308; /* *cond_umaxvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_umaxvnx2di_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, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern505 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5984; /* *cond_smaxvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6154; /* *cond_smaxvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_smaxvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6001; /* *cond_smaxvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6171; /* *cond_smaxvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_smaxvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6018; /* *cond_smaxvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6188; /* *cond_smaxvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_smaxvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6035; /* *cond_smaxvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6205; /* *cond_smaxvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6375; /* *cond_smaxvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6052; /* *cond_smaxvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6222; /* *cond_smaxvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6392; /* *cond_smaxvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6069; /* *cond_smaxvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6239; /* *cond_smaxvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6409; /* *cond_smaxvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6086; /* *cond_smaxvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6256; /* *cond_smaxvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6426; /* *cond_smaxvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6103; /* *cond_smaxvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6273; /* *cond_smaxvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6443; /* *cond_smaxvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6120; /* *cond_smaxvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6290; /* *cond_smaxvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6460; /* *cond_smaxvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6137; /* *cond_smaxvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6307; /* *cond_smaxvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_smaxvnx2di_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, x4;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 0);
  operands[1] = x3;
  switch (pattern505 (x2))
    {
    case 0:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5983; /* *cond_mulvnx16qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6153; /* *cond_mulvnx16qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_mulvnx16qi_any */

    case 1:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6000; /* *cond_mulvnx8qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6170; /* *cond_mulvnx8qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_mulvnx8qi_any */

    case 2:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6017; /* *cond_mulvnx4qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6187; /* *cond_mulvnx4qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_mulvnx4qi_any */

    case 3:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6034; /* *cond_mulvnx2qi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6204; /* *cond_mulvnx2qi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6374; /* *cond_mulvnx2qi_any */

    case 4:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6051; /* *cond_mulvnx8hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6221; /* *cond_mulvnx8hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6391; /* *cond_mulvnx8hi_any */

    case 5:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6068; /* *cond_mulvnx4hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6238; /* *cond_mulvnx4hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6408; /* *cond_mulvnx4hi_any */

    case 6:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6085; /* *cond_mulvnx2hi_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6255; /* *cond_mulvnx2hi_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6425; /* *cond_mulvnx2hi_any */

    case 7:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6102; /* *cond_mulvnx4si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6272; /* *cond_mulvnx4si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6442; /* *cond_mulvnx4si_any */

    case 8:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6119; /* *cond_mulvnx2si_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6289; /* *cond_mulvnx2si_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6459; /* *cond_mulvnx2si_any */

    case 9:
      x4 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x4, operands[2])
          && 
#line 3731 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6136; /* *cond_mulvnx2di_2 */
      if (rtx_equal_p (x4, operands[3])
          && 
#line 3748 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 6306; /* *cond_mulvnx2di_3 */
      operands[4] = x4;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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; /* *cond_mulvnx2di_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 (pattern324 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5420; /* *cond_qabsvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5500; /* *cond_qabsvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5428; /* *cond_qabsvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5508; /* *cond_qabsvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5436; /* *cond_qabsvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5516; /* *cond_qabsvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5444; /* *cond_qabsvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5524; /* *cond_qabsvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5452; /* *cond_qabsvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5532; /* *cond_qabsvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5460; /* *cond_qabsvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5540; /* *cond_qabsvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5468; /* *cond_qabsvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5548; /* *cond_qabsvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5476; /* *cond_qabsvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5556; /* *cond_qabsvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5484; /* *cond_qabsvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5564; /* *cond_qabsvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5492; /* *cond_qabsvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5572; /* *cond_qabsvnx2di_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 (pattern324 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5421; /* *cond_qnegvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5501; /* *cond_qnegvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5429; /* *cond_qnegvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5509; /* *cond_qnegvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5437; /* *cond_qnegvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5517; /* *cond_qnegvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5445; /* *cond_qnegvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5525; /* *cond_qnegvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5453; /* *cond_qnegvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5533; /* *cond_qnegvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5461; /* *cond_qnegvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5541; /* *cond_qnegvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5469; /* *cond_qnegvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5549; /* *cond_qnegvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5477; /* *cond_qnegvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5557; /* *cond_qnegvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5485; /* *cond_qnegvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5565; /* *cond_qnegvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 5493; /* *cond_qnegvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !(
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 2247 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 5573; /* *cond_qnegvnx2di_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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern324 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5419; /* *cond_popcountvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5499; /* *cond_popcountvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5427; /* *cond_popcountvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5507; /* *cond_popcountvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5435; /* *cond_popcountvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5515; /* *cond_popcountvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5443; /* *cond_popcountvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5523; /* *cond_popcountvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5451; /* *cond_popcountvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5531; /* *cond_popcountvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5459; /* *cond_popcountvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5539; /* *cond_popcountvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5467; /* *cond_popcountvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5547; /* *cond_popcountvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5475; /* *cond_popcountvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5555; /* *cond_popcountvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5483; /* *cond_popcountvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5563; /* *cond_popcountvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5491; /* *cond_popcountvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5571; /* *cond_popcountvnx2di_any */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern324 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5418; /* *cond_clzvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5498; /* *cond_clzvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5426; /* *cond_clzvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5506; /* *cond_clzvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5434; /* *cond_clzvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5514; /* *cond_clzvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5442; /* *cond_clzvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5522; /* *cond_clzvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5450; /* *cond_clzvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5530; /* *cond_clzvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5458; /* *cond_clzvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5538; /* *cond_clzvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5466; /* *cond_clzvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5546; /* *cond_clzvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5474; /* *cond_clzvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5554; /* *cond_clzvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5482; /* *cond_clzvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5562; /* *cond_clzvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5490; /* *cond_clzvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5570; /* *cond_clzvnx2di_any */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern324 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5417; /* *cond_clrsbvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5497; /* *cond_clrsbvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5425; /* *cond_clrsbvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5505; /* *cond_clrsbvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5433; /* *cond_clrsbvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5513; /* *cond_clrsbvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5441; /* *cond_clrsbvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5521; /* *cond_clrsbvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5449; /* *cond_clrsbvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5529; /* *cond_clrsbvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5457; /* *cond_clrsbvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5537; /* *cond_clrsbvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5465; /* *cond_clrsbvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5545; /* *cond_clrsbvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5473; /* *cond_clrsbvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5553; /* *cond_clrsbvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5481; /* *cond_clrsbvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5561; /* *cond_clrsbvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5489; /* *cond_clrsbvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5569; /* *cond_clrsbvnx2di_any */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern324 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5416; /* *cond_one_cmplvnx16qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5496; /* *cond_one_cmplvnx16qi_any */

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5424; /* *cond_one_cmplvnx8qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5504; /* *cond_one_cmplvnx8qi_any */

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5432; /* *cond_one_cmplvnx4qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5512; /* *cond_one_cmplvnx4qi_any */

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5440; /* *cond_one_cmplvnx2qi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5520; /* *cond_one_cmplvnx2qi_any */

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5448; /* *cond_one_cmplvnx8hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5528; /* *cond_one_cmplvnx8hi_any */

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5456; /* *cond_one_cmplvnx4hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5536; /* *cond_one_cmplvnx4hi_any */

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5464; /* *cond_one_cmplvnx2hi_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5544; /* *cond_one_cmplvnx2hi_any */

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5472; /* *cond_one_cmplvnx4si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5552; /* *cond_one_cmplvnx4si_any */

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5480; /* *cond_one_cmplvnx2si_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5560; /* *cond_one_cmplvnx2si_any */

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 5488; /* *cond_one_cmplvnx2di_2 */
      operands[3] = x3;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
        return -1;
      return 5568; /* *cond_one_cmplvnx2di_any */

    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, 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_299 (x1, insn, pnum_clobbers);

        case ABS:
          switch (pattern324 (x2))
            {
            case 0:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5414; /* *cond_absvnx16qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5494; /* *cond_absvnx16qi_any */

            case 1:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5422; /* *cond_absvnx8qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5502; /* *cond_absvnx8qi_any */

            case 2:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5430; /* *cond_absvnx4qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5510; /* *cond_absvnx4qi_any */

            case 3:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5438; /* *cond_absvnx2qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5518; /* *cond_absvnx2qi_any */

            case 4:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5446; /* *cond_absvnx8hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5526; /* *cond_absvnx8hi_any */

            case 5:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5454; /* *cond_absvnx4hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5534; /* *cond_absvnx4hi_any */

            case 6:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5462; /* *cond_absvnx2hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5542; /* *cond_absvnx2hi_any */

            case 7:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5470; /* *cond_absvnx4si_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5550; /* *cond_absvnx4si_any */

            case 8:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5478; /* *cond_absvnx2si_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5558; /* *cond_absvnx2si_any */

            case 9:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5486; /* *cond_absvnx2di_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5566; /* *cond_absvnx2di_any */

            default:
              return -1;
            }

        case NEG:
          switch (pattern324 (x2))
            {
            case 0:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5415; /* *cond_negvnx16qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx16QImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5495; /* *cond_negvnx16qi_any */

            case 1:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5423; /* *cond_negvnx8qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8QImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5503; /* *cond_negvnx8qi_any */

            case 2:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5431; /* *cond_negvnx4qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4QImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5511; /* *cond_negvnx4qi_any */

            case 3:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5439; /* *cond_negvnx2qi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2QImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5519; /* *cond_negvnx2qi_any */

            case 4:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5447; /* *cond_negvnx8hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5527; /* *cond_negvnx8hi_any */

            case 5:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5455; /* *cond_negvnx4hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4HImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5535; /* *cond_negvnx4hi_any */

            case 6:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5463; /* *cond_negvnx2hi_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2HImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5543; /* *cond_negvnx2hi_any */

            case 7:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5471; /* *cond_negvnx4si_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5551; /* *cond_negvnx4si_any */

            case 8:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5479; /* *cond_negvnx2si_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2SImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5559; /* *cond_negvnx2si_any */

            case 9:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 2982 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5487; /* *cond_negvnx2di_2 */
              operands[3] = x5;
              if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DImode)
                  || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])))
                return -1;
              return 5567; /* *cond_negvnx2di_any */

            default:
              return -1;
            }

        case NOT:
          return recog_321 (x1, insn, pnum_clobbers);

        case CLRSB:
          return recog_320 (x1, insn, pnum_clobbers);

        case CLZ:
          return recog_319 (x1, insn, pnum_clobbers);

        case POPCOUNT:
          return recog_318 (x1, insn, pnum_clobbers);

        case SS_ABS:
          return recog_316 (x1, insn, pnum_clobbers);

        case SS_NEG:
          return recog_317 (x1, insn, pnum_clobbers);

        case UNSPEC:
          return recog_304 (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 3143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x81 & 0x81) == 0))
                return -1;
              return 5637; /* aarch64_cond_sxtvnx8hivnx8qi */

            case E_VNx4SImode:
              if (pattern694 (x2, E_VNx4SImode, E_VNx4BImode) != 0)
                return -1;
              switch (GET_MODE (x6))
                {
                case E_VNx4QImode:
                  if (!
#line 3143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x43 & 0x41) == 0))
                    return -1;
                  return 5638; /* aarch64_cond_sxtvnx4sivnx4qi */

                case E_VNx4HImode:
                  if (!
#line 3143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x43 & 0x42) == 0))
                    return -1;
                  return 5639; /* aarch64_cond_sxtvnx4sivnx4hi */

                default:
                  return -1;
                }

            case E_VNx2DImode:
              if (pattern694 (x2, E_VNx2DImode, E_VNx2BImode) != 0)
                return -1;
              switch (GET_MODE (x6))
                {
                case E_VNx2QImode:
                  if (!
#line 3143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x21) == 0))
                    return -1;
                  return 5640; /* aarch64_cond_sxtvnx2divnx2qi */

                case E_VNx2HImode:
                  if (!
#line 3143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x22) == 0))
                    return -1;
                  return 5641; /* aarch64_cond_sxtvnx2divnx2hi */

                case E_VNx2SImode:
                  if (!
#line 3143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (~0x27 & 0x24) == 0))
                    return -1;
                  return 5642; /* aarch64_cond_sxtvnx2divnx2si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case AND:
          return recog_298 (x1, insn, pnum_clobbers);

        case PLUS:
          return recog_300 (x1, insn, pnum_clobbers);

        case MINUS:
          return recog_297 (x1, insn, pnum_clobbers);

        case MULT:
          return recog_315 (x1, insn, pnum_clobbers);

        case SMAX:
          return recog_314 (x1, insn, pnum_clobbers);

        case UMAX:
          return recog_313 (x1, insn, pnum_clobbers);

        case SMIN:
          return recog_312 (x1, insn, pnum_clobbers);

        case UMIN:
          return recog_311 (x1, insn, pnum_clobbers);

        case ASHIFT:
          return recog_301 (x1, insn, pnum_clobbers);

        case ASHIFTRT:
          return recog_302 (x1, insn, pnum_clobbers);

        case LSHIFTRT:
          return recog_303 (x1, insn, pnum_clobbers);

        case IOR:
          return recog_310 (x1, insn, pnum_clobbers);

        case XOR:
          return recog_309 (x1, insn, pnum_clobbers);

        case SS_PLUS:
          return recog_308 (x1, insn, pnum_clobbers);

        case US_PLUS:
          return recog_307 (x1, insn, pnum_clobbers);

        case SS_MINUS:
          return recog_306 (x1, insn, pnum_clobbers);

        case US_MINUS:
          return recog_305 (x1, insn, pnum_clobbers);

        case DIV:
          switch (pattern330 (x2))
            {
            case 0:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 4364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6661; /* *cond_divvnx4si_2 */
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 4381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6665; /* *cond_divvnx4si_3 */
              operands[4] = x5;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
                  || !
#line 4398 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6669; /* *cond_divvnx4si_any */

            case 1:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 4364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6663; /* *cond_divvnx2di_2 */
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 4381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6667; /* *cond_divvnx2di_3 */
              operands[4] = x5;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
                  || !
#line 4398 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6671; /* *cond_divvnx2di_any */

            default:
              return -1;
            }

        case UDIV:
          switch (pattern330 (x2))
            {
            case 0:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 4364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6662; /* *cond_udivvnx4si_2 */
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 4381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6666; /* *cond_udivvnx4si_3 */
              operands[4] = x5;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
                  || !
#line 4398 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6670; /* *cond_udivvnx4si_any */

            case 1:
              x5 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x5, operands[2])
                  && 
#line 4364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6664; /* *cond_udivvnx2di_2 */
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 4381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 6668; /* *cond_udivvnx2di_3 */
              operands[4] = x5;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
                  || !
#line 4398 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6672; /* *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 (pattern648 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx16QImode)
       || register_operand (operands[2], VNx16QImode))))
                return -1;
              return 7697; /* *vcond_mask_vnx16qivnx16bi */

            case E_VNx8QImode:
              if (pattern648 (x2, E_VNx8QImode, E_VNx8BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx8QImode)
       || register_operand (operands[2], VNx8QImode))))
                return -1;
              return 7698; /* *vcond_mask_vnx8qivnx8bi */

            case E_VNx4QImode:
              if (pattern648 (x2, E_VNx4QImode, E_VNx4BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4QImode)
       || register_operand (operands[2], VNx4QImode))))
                return -1;
              return 7699; /* *vcond_mask_vnx4qivnx4bi */

            case E_VNx2QImode:
              if (pattern648 (x2, E_VNx2QImode, E_VNx2BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2QImode)
       || register_operand (operands[2], VNx2QImode))))
                return -1;
              return 7700; /* *vcond_mask_vnx2qivnx2bi */

            case E_VNx8HImode:
              if (pattern648 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx8HImode)
       || register_operand (operands[2], VNx8HImode))))
                return -1;
              return 7701; /* *vcond_mask_vnx8hivnx8bi */

            case E_VNx4HImode:
              if (pattern648 (x2, E_VNx4HImode, E_VNx4BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4HImode)
       || register_operand (operands[2], VNx4HImode))))
                return -1;
              return 7702; /* *vcond_mask_vnx4hivnx4bi */

            case E_VNx2HImode:
              if (pattern648 (x2, E_VNx2HImode, E_VNx2BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2HImode)
       || register_operand (operands[2], VNx2HImode))))
                return -1;
              return 7703; /* *vcond_mask_vnx2hivnx2bi */

            case E_VNx8HFmode:
              if (pattern648 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx8HFmode)
       || register_operand (operands[2], VNx8HFmode))))
                return -1;
              return 7704; /* *vcond_mask_vnx8hfvnx8bi */

            case E_VNx4HFmode:
              if (pattern648 (x2, E_VNx4HFmode, E_VNx4BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4HFmode)
       || register_operand (operands[2], VNx4HFmode))))
                return -1;
              return 7705; /* *vcond_mask_vnx4hfvnx4bi */

            case E_VNx2HFmode:
              if (pattern648 (x2, E_VNx2HFmode, E_VNx2BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2HFmode)
       || register_operand (operands[2], VNx2HFmode))))
                return -1;
              return 7706; /* *vcond_mask_vnx2hfvnx2bi */

            case E_VNx8BFmode:
              if (pattern648 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx8BFmode)
       || register_operand (operands[2], VNx8BFmode))))
                return -1;
              return 7707; /* *vcond_mask_vnx8bfvnx8bi */

            case E_VNx4BFmode:
              if (pattern648 (x2, E_VNx4BFmode, E_VNx4BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4BFmode)
       || register_operand (operands[2], VNx4BFmode))))
                return -1;
              return 7708; /* *vcond_mask_vnx4bfvnx4bi */

            case E_VNx2BFmode:
              if (pattern648 (x2, E_VNx2BFmode, E_VNx2BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2BFmode)
       || register_operand (operands[2], VNx2BFmode))))
                return -1;
              return 7709; /* *vcond_mask_vnx2bfvnx2bi */

            case E_VNx4SImode:
              if (pattern648 (x2, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4SImode)
       || register_operand (operands[2], VNx4SImode))))
                return -1;
              return 7710; /* *vcond_mask_vnx4sivnx4bi */

            case E_VNx2SImode:
              if (pattern648 (x2, E_VNx2SImode, E_VNx2BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2SImode)
       || register_operand (operands[2], VNx2SImode))))
                return -1;
              return 7711; /* *vcond_mask_vnx2sivnx2bi */

            case E_VNx4SFmode:
              if (pattern648 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx4SFmode)
       || register_operand (operands[2], VNx4SFmode))))
                return -1;
              return 7712; /* *vcond_mask_vnx4sfvnx4bi */

            case E_VNx2SFmode:
              if (pattern648 (x2, E_VNx2SFmode, E_VNx2BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2SFmode)
       || register_operand (operands[2], VNx2SFmode))))
                return -1;
              return 7713; /* *vcond_mask_vnx2sfvnx2bi */

            case E_VNx2DImode:
              if (pattern648 (x2, E_VNx2DImode, E_VNx2BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2DImode)
       || register_operand (operands[2], VNx2DImode))))
                return -1;
              return 7714; /* *vcond_mask_vnx2divnx2bi */

            case E_VNx2DFmode:
              if (pattern648 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (!register_operand (operands[1], VNx2DFmode)
       || register_operand (operands[2], VNx2DFmode))))
                return -1;
              return 7715; /* *vcond_mask_vnx2dfvnx2bi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x3, 0) != 3
          || XINT (x3, 1) != 120)
        return -1;
      x8 = XVECEXP (x3, 0, 1);
      if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return -1;
      x9 = XVECEXP (x3, 0, 2);
      if (GET_CODE (x9) != EQ)
        return -1;
      x10 = XVECEXP (x3, 0, 0);
      operands[1] = x10;
      x11 = XEXP (x9, 0);
      operands[2] = x11;
      x12 = XEXP (x9, 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 (pattern836 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 3262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5673; /* *cnotvnx16qi */

        case E_VNx8QImode:
          if (pattern836 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 3262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5674; /* *cnotvnx8qi */

        case E_VNx4QImode:
          if (pattern836 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 3262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5675; /* *cnotvnx4qi */

        case E_VNx2QImode:
          if (pattern836 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 3262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5676; /* *cnotvnx2qi */

        case E_VNx8HImode:
          if (pattern836 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 3262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5677; /* *cnotvnx8hi */

        case E_VNx4HImode:
          if (pattern836 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 3262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5678; /* *cnotvnx4hi */

        case E_VNx2HImode:
          if (pattern836 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 3262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5679; /* *cnotvnx2hi */

        case E_VNx4SImode:
          if (pattern836 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 3262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5680; /* *cnotvnx4si */

        case E_VNx2SImode:
          if (pattern836 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 3262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5681; /* *cnotvnx2si */

        case E_VNx2DImode:
          if (pattern836 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 3262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5682; /* *cnotvnx2di */

        default:
          return -1;
        }

    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, 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 (pattern602 (x2))
        {
        case 0:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7735; /* aarch64_pred_cmpltvnx16qi */

        case 1:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7745; /* aarch64_pred_cmpltvnx8qi */

        case 2:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7775; /* aarch64_pred_cmpltvnx8hi */

        case 3:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7755; /* aarch64_pred_cmpltvnx4qi */

        case 4:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7785; /* aarch64_pred_cmpltvnx4hi */

        case 5:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7805; /* aarch64_pred_cmpltvnx4si */

        case 6:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7765; /* aarch64_pred_cmpltvnx2qi */

        case 7:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7795; /* aarch64_pred_cmpltvnx2hi */

        case 8:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7815; /* aarch64_pred_cmpltvnx2si */

        case 9:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7825; /* aarch64_pred_cmpltvnx2di */

        default:
          return -1;
        }

    case LE:
      switch (pattern602 (x2))
        {
        case 0:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7736; /* aarch64_pred_cmplevnx16qi */

        case 1:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7746; /* aarch64_pred_cmplevnx8qi */

        case 2:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7776; /* aarch64_pred_cmplevnx8hi */

        case 3:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7756; /* aarch64_pred_cmplevnx4qi */

        case 4:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7786; /* aarch64_pred_cmplevnx4hi */

        case 5:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7806; /* aarch64_pred_cmplevnx4si */

        case 6:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7766; /* aarch64_pred_cmplevnx2qi */

        case 7:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7796; /* aarch64_pred_cmplevnx2hi */

        case 8:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7816; /* aarch64_pred_cmplevnx2si */

        case 9:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7826; /* aarch64_pred_cmplevnx2di */

        default:
          return -1;
        }

    case EQ:
      switch (pattern602 (x2))
        {
        case 0:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7737; /* aarch64_pred_cmpeqvnx16qi */

        case 1:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7747; /* aarch64_pred_cmpeqvnx8qi */

        case 2:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7777; /* aarch64_pred_cmpeqvnx8hi */

        case 3:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7757; /* aarch64_pred_cmpeqvnx4qi */

        case 4:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7787; /* aarch64_pred_cmpeqvnx4hi */

        case 5:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7807; /* aarch64_pred_cmpeqvnx4si */

        case 6:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7767; /* aarch64_pred_cmpeqvnx2qi */

        case 7:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7797; /* aarch64_pred_cmpeqvnx2hi */

        case 8:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7817; /* aarch64_pred_cmpeqvnx2si */

        case 9:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7827; /* aarch64_pred_cmpeqvnx2di */

        default:
          return -1;
        }

    case NE:
      switch (pattern602 (x2))
        {
        case 0:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7738; /* aarch64_pred_cmpnevnx16qi */

        case 1:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7748; /* aarch64_pred_cmpnevnx8qi */

        case 2:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7778; /* aarch64_pred_cmpnevnx8hi */

        case 3:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7758; /* aarch64_pred_cmpnevnx4qi */

        case 4:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7788; /* aarch64_pred_cmpnevnx4hi */

        case 5:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7808; /* aarch64_pred_cmpnevnx4si */

        case 6:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7768; /* aarch64_pred_cmpnevnx2qi */

        case 7:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7798; /* aarch64_pred_cmpnevnx2hi */

        case 8:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7818; /* aarch64_pred_cmpnevnx2si */

        case 9:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7828; /* aarch64_pred_cmpnevnx2di */

        default:
          return -1;
        }

    case GE:
      switch (pattern602 (x2))
        {
        case 0:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7739; /* aarch64_pred_cmpgevnx16qi */

        case 1:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7749; /* aarch64_pred_cmpgevnx8qi */

        case 2:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7779; /* aarch64_pred_cmpgevnx8hi */

        case 3:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7759; /* aarch64_pred_cmpgevnx4qi */

        case 4:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7789; /* aarch64_pred_cmpgevnx4hi */

        case 5:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7809; /* aarch64_pred_cmpgevnx4si */

        case 6:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7769; /* aarch64_pred_cmpgevnx2qi */

        case 7:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7799; /* aarch64_pred_cmpgevnx2hi */

        case 8:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7819; /* aarch64_pred_cmpgevnx2si */

        case 9:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7829; /* aarch64_pred_cmpgevnx2di */

        default:
          return -1;
        }

    case GT:
      switch (pattern602 (x2))
        {
        case 0:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7740; /* aarch64_pred_cmpgtvnx16qi */

        case 1:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7750; /* aarch64_pred_cmpgtvnx8qi */

        case 2:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7780; /* aarch64_pred_cmpgtvnx8hi */

        case 3:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7760; /* aarch64_pred_cmpgtvnx4qi */

        case 4:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7790; /* aarch64_pred_cmpgtvnx4hi */

        case 5:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7810; /* aarch64_pred_cmpgtvnx4si */

        case 6:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7770; /* aarch64_pred_cmpgtvnx2qi */

        case 7:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7800; /* aarch64_pred_cmpgtvnx2hi */

        case 8:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7820; /* aarch64_pred_cmpgtvnx2si */

        case 9:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7830; /* aarch64_pred_cmpgtvnx2di */

        default:
          return -1;
        }

    case LTU:
      switch (pattern603 (x2))
        {
        case 0:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7741; /* aarch64_pred_cmplovnx16qi */

        case 1:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7751; /* aarch64_pred_cmplovnx8qi */

        case 2:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7781; /* aarch64_pred_cmplovnx8hi */

        case 3:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7761; /* aarch64_pred_cmplovnx4qi */

        case 4:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7791; /* aarch64_pred_cmplovnx4hi */

        case 5:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7811; /* aarch64_pred_cmplovnx4si */

        case 6:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7771; /* aarch64_pred_cmplovnx2qi */

        case 7:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7801; /* aarch64_pred_cmplovnx2hi */

        case 8:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7821; /* aarch64_pred_cmplovnx2si */

        case 9:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7831; /* aarch64_pred_cmplovnx2di */

        default:
          return -1;
        }

    case LEU:
      switch (pattern603 (x2))
        {
        case 0:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7742; /* aarch64_pred_cmplsvnx16qi */

        case 1:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7752; /* aarch64_pred_cmplsvnx8qi */

        case 2:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7782; /* aarch64_pred_cmplsvnx8hi */

        case 3:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7762; /* aarch64_pred_cmplsvnx4qi */

        case 4:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7792; /* aarch64_pred_cmplsvnx4hi */

        case 5:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7812; /* aarch64_pred_cmplsvnx4si */

        case 6:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7772; /* aarch64_pred_cmplsvnx2qi */

        case 7:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7802; /* aarch64_pred_cmplsvnx2hi */

        case 8:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7822; /* aarch64_pred_cmplsvnx2si */

        case 9:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7832; /* aarch64_pred_cmplsvnx2di */

        default:
          return -1;
        }

    case GEU:
      switch (pattern603 (x2))
        {
        case 0:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7743; /* aarch64_pred_cmphsvnx16qi */

        case 1:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7753; /* aarch64_pred_cmphsvnx8qi */

        case 2:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7783; /* aarch64_pred_cmphsvnx8hi */

        case 3:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7763; /* aarch64_pred_cmphsvnx4qi */

        case 4:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7793; /* aarch64_pred_cmphsvnx4hi */

        case 5:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7813; /* aarch64_pred_cmphsvnx4si */

        case 6:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7773; /* aarch64_pred_cmphsvnx2qi */

        case 7:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7803; /* aarch64_pred_cmphsvnx2hi */

        case 8:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7823; /* aarch64_pred_cmphsvnx2si */

        case 9:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7833; /* aarch64_pred_cmphsvnx2di */

        default:
          return -1;
        }

    case GTU:
      switch (pattern603 (x2))
        {
        case 0:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7744; /* aarch64_pred_cmphivnx16qi */

        case 1:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7754; /* aarch64_pred_cmphivnx8qi */

        case 2:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7784; /* aarch64_pred_cmphivnx8hi */

        case 3:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7764; /* aarch64_pred_cmphivnx4qi */

        case 4:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7794; /* aarch64_pred_cmphivnx4hi */

        case 5:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7814; /* aarch64_pred_cmphivnx4si */

        case 6:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7774; /* aarch64_pred_cmphivnx2qi */

        case 7:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7804; /* aarch64_pred_cmphivnx2hi */

        case 8:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7824; /* aarch64_pred_cmphivnx2si */

        case 9:
          if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 7834; /* 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 324:
          switch (pattern780 (x2))
            {
            case 0:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8135; /* aarch64_pred_cmpeqvnx16qi_wide */

            case 1:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8145; /* aarch64_pred_cmpeqvnx8hi_wide */

            case 2:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8155; /* aarch64_pred_cmpeqvnx4si_wide */

            default:
              return -1;
            }

        case 325:
          switch (pattern780 (x2))
            {
            case 0:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8136; /* aarch64_pred_cmpgevnx16qi_wide */

            case 1:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8146; /* aarch64_pred_cmpgevnx8hi_wide */

            case 2:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8156; /* aarch64_pred_cmpgevnx4si_wide */

            default:
              return -1;
            }

        case 326:
          switch (pattern780 (x2))
            {
            case 0:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8137; /* aarch64_pred_cmpgtvnx16qi_wide */

            case 1:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8147; /* aarch64_pred_cmpgtvnx8hi_wide */

            case 2:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8157; /* aarch64_pred_cmpgtvnx4si_wide */

            default:
              return -1;
            }

        case 327:
          switch (pattern780 (x2))
            {
            case 0:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8138; /* aarch64_pred_cmphivnx16qi_wide */

            case 1:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8148; /* aarch64_pred_cmphivnx8hi_wide */

            case 2:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8158; /* aarch64_pred_cmphivnx4si_wide */

            default:
              return -1;
            }

        case 328:
          switch (pattern780 (x2))
            {
            case 0:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8139; /* aarch64_pred_cmphsvnx16qi_wide */

            case 1:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8149; /* aarch64_pred_cmphsvnx8hi_wide */

            case 2:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8159; /* aarch64_pred_cmphsvnx4si_wide */

            default:
              return -1;
            }

        case 329:
          switch (pattern780 (x2))
            {
            case 0:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8140; /* aarch64_pred_cmplevnx16qi_wide */

            case 1:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8150; /* aarch64_pred_cmplevnx8hi_wide */

            case 2:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8160; /* aarch64_pred_cmplevnx4si_wide */

            default:
              return -1;
            }

        case 330:
          switch (pattern780 (x2))
            {
            case 0:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8141; /* aarch64_pred_cmplovnx16qi_wide */

            case 1:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8151; /* aarch64_pred_cmplovnx8hi_wide */

            case 2:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8161; /* aarch64_pred_cmplovnx4si_wide */

            default:
              return -1;
            }

        case 331:
          switch (pattern780 (x2))
            {
            case 0:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8142; /* aarch64_pred_cmplsvnx16qi_wide */

            case 1:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8152; /* aarch64_pred_cmplsvnx8hi_wide */

            case 2:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8162; /* aarch64_pred_cmplsvnx4si_wide */

            default:
              return -1;
            }

        case 332:
          switch (pattern780 (x2))
            {
            case 0:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8143; /* aarch64_pred_cmpltvnx16qi_wide */

            case 1:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8153; /* aarch64_pred_cmpltvnx8hi_wide */

            case 2:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8163; /* aarch64_pred_cmpltvnx4si_wide */

            default:
              return -1;
            }

        case 333:
          switch (pattern780 (x2))
            {
            case 0:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8144; /* aarch64_pred_cmpnevnx16qi_wide */

            case 1:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8154; /* aarch64_pred_cmpnevnx8hi_wide */

            case 2:
              if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8164; /* aarch64_pred_cmpnevnx4si_wide */

            default:
              return -1;
            }

        case 434:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16BImode:
              if (pattern809 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                  || !
#line 2479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              *pnum_clobbers = 1;
              return 10091; /* aarch64_pred_matchvnx16qi */

            case E_VNx8BImode:
              if (pattern809 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 2479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              *pnum_clobbers = 1;
              return 10093; /* aarch64_pred_matchvnx8hi */

            default:
              return -1;
            }

        case 435:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16BImode:
              if (pattern809 (x2, E_VNx16QImode, E_VNx16BImode) != 0
                  || !
#line 2479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              *pnum_clobbers = 1;
              return 10092; /* aarch64_pred_nmatchvnx16qi */

            case E_VNx8BImode:
              if (pattern809 (x2, E_VNx8HImode, E_VNx8BImode) != 0
                  || !
#line 2479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              *pnum_clobbers = 1;
              return 10094; /* aarch64_pred_nmatchvnx8hi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    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;
  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 (pattern528 (x2, E_V8QImode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4193; /* aarch64_extv8qi */

    case E_V16QImode:
      if (pattern528 (x2, E_V16QImode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4194; /* aarch64_extv16qi */

    case E_V4HImode:
      if (pattern528 (x2, E_V4HImode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4195; /* aarch64_extv4hi */

    case E_V8HImode:
      if (pattern528 (x2, E_V8HImode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4196; /* aarch64_extv8hi */

    case E_V2SImode:
      if (pattern528 (x2, E_V2SImode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4197; /* aarch64_extv2si */

    case E_V4SImode:
      if (pattern528 (x2, E_V4SImode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4198; /* aarch64_extv4si */

    case E_V2DImode:
      if (pattern528 (x2, E_V2DImode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4199; /* aarch64_extv2di */

    case E_V4HFmode:
      if (pattern528 (x2, E_V4HFmode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4200; /* aarch64_extv4hf */

    case E_V8HFmode:
      if (pattern528 (x2, E_V8HFmode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4201; /* aarch64_extv8hf */

    case E_V4BFmode:
      if (pattern528 (x2, E_V4BFmode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4202; /* aarch64_extv4bf */

    case E_V8BFmode:
      if (pattern528 (x2, E_V8BFmode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4203; /* aarch64_extv8bf */

    case E_V2SFmode:
      if (pattern528 (x2, E_V2SFmode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4204; /* aarch64_extv2sf */

    case E_V4SFmode:
      if (pattern528 (x2, E_V4SFmode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4205; /* aarch64_extv4sf */

    case E_V2DFmode:
      if (pattern528 (x2, E_V2DFmode) != 0
          || !
#line 7863 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4206; /* aarch64_extv2df */

    case E_VNx16QImode:
      if (pattern529 (x2, E_VNx16QImode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 8 / 8, 0, 255)))
        return -1;
      return 8894; /* aarch64_sve_extvnx16qi */

    case E_VNx8QImode:
      if (pattern529 (x2, E_VNx8QImode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 16 / 8, 0, 255)))
        return -1;
      return 8895; /* aarch64_sve_extvnx8qi */

    case E_VNx4QImode:
      if (pattern529 (x2, E_VNx4QImode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8896; /* aarch64_sve_extvnx4qi */

    case E_VNx2QImode:
      if (pattern529 (x2, E_VNx2QImode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8897; /* aarch64_sve_extvnx2qi */

    case E_VNx8HImode:
      if (pattern529 (x2, E_VNx8HImode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 16 / 8, 0, 255)))
        return -1;
      return 8898; /* aarch64_sve_extvnx8hi */

    case E_VNx4HImode:
      if (pattern529 (x2, E_VNx4HImode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8899; /* aarch64_sve_extvnx4hi */

    case E_VNx2HImode:
      if (pattern529 (x2, E_VNx2HImode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8900; /* aarch64_sve_extvnx2hi */

    case E_VNx8HFmode:
      if (pattern529 (x2, E_VNx8HFmode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 16 / 8, 0, 255)))
        return -1;
      return 8901; /* aarch64_sve_extvnx8hf */

    case E_VNx4HFmode:
      if (pattern529 (x2, E_VNx4HFmode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8902; /* aarch64_sve_extvnx4hf */

    case E_VNx2HFmode:
      if (pattern529 (x2, E_VNx2HFmode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8903; /* aarch64_sve_extvnx2hf */

    case E_VNx8BFmode:
      if (pattern529 (x2, E_VNx8BFmode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 16 / 8, 0, 255)))
        return -1;
      return 8904; /* aarch64_sve_extvnx8bf */

    case E_VNx4BFmode:
      if (pattern529 (x2, E_VNx4BFmode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8905; /* aarch64_sve_extvnx4bf */

    case E_VNx2BFmode:
      if (pattern529 (x2, E_VNx2BFmode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8906; /* aarch64_sve_extvnx2bf */

    case E_VNx4SImode:
      if (pattern529 (x2, E_VNx4SImode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8907; /* aarch64_sve_extvnx4si */

    case E_VNx2SImode:
      if (pattern529 (x2, E_VNx2SImode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8908; /* aarch64_sve_extvnx2si */

    case E_VNx4SFmode:
      if (pattern529 (x2, E_VNx4SFmode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 32 / 8, 0, 255)))
        return -1;
      return 8909; /* aarch64_sve_extvnx4sf */

    case E_VNx2SFmode:
      if (pattern529 (x2, E_VNx2SFmode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8910; /* aarch64_sve_extvnx2sf */

    case E_VNx2DImode:
      if (pattern529 (x2, E_VNx2DImode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8911; /* aarch64_sve_extvnx2di */

    case E_VNx2DFmode:
      if (pattern529 (x2, E_VNx2DFmode) != 0
          || !
#line 8814 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[3]) * 64 / 8, 0, 255)))
        return -1;
      return 8912; /* aarch64_sve_extvnx2df */

    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[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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3703; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3704; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3705; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3706; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3707; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3708; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3709; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3710; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3711; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3712; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3713; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3714; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3715; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3716; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3717; /* 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 6923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3718; /* aarch64_vec_load_lanesv3x8bf_lanev8bf */

    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;
  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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3767; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3768; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3769; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3770; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3771; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3772; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3773; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3774; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3775; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3776; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3777; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3778; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3779; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3780; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3781; /* 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 7023 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3782; /* aarch64_vec_load_lanesv4x8bf_lanev8bf */

    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;
  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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3639; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3640; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3641; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3642; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3643; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3644; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3645; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3646; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3647; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3648; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3649; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3650; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3651; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3652; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3653; /* 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 6823 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3654; /* aarch64_vec_load_lanesv2x8bf_lanev8bf */

    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, 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 (pattern530 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5074; /* maskstorevnx16qivnx16bi */

        case E_VNx8QImode:
          if (pattern530 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5075; /* maskstorevnx8qivnx8bi */

        case E_VNx4QImode:
          if (pattern530 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5076; /* maskstorevnx4qivnx4bi */

        case E_VNx2QImode:
          if (pattern530 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5077; /* maskstorevnx2qivnx2bi */

        case E_VNx8HImode:
          if (pattern530 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5078; /* maskstorevnx8hivnx8bi */

        case E_VNx4HImode:
          if (pattern530 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5079; /* maskstorevnx4hivnx4bi */

        case E_VNx2HImode:
          if (pattern530 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5080; /* maskstorevnx2hivnx2bi */

        case E_VNx8HFmode:
          if (pattern530 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5081; /* maskstorevnx8hfvnx8bi */

        case E_VNx4HFmode:
          if (pattern530 (x2, E_VNx4HFmode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5082; /* maskstorevnx4hfvnx4bi */

        case E_VNx2HFmode:
          if (pattern530 (x2, E_VNx2HFmode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5083; /* maskstorevnx2hfvnx2bi */

        case E_VNx8BFmode:
          if (pattern530 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5084; /* maskstorevnx8bfvnx8bi */

        case E_VNx4BFmode:
          if (pattern530 (x2, E_VNx4BFmode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5085; /* maskstorevnx4bfvnx4bi */

        case E_VNx2BFmode:
          if (pattern530 (x2, E_VNx2BFmode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5086; /* maskstorevnx2bfvnx2bi */

        case E_VNx4SImode:
          if (pattern530 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5087; /* maskstorevnx4sivnx4bi */

        case E_VNx2SImode:
          if (pattern530 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5088; /* maskstorevnx2sivnx2bi */

        case E_VNx4SFmode:
          if (pattern530 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5089; /* maskstorevnx4sfvnx4bi */

        case E_VNx2SFmode:
          if (pattern530 (x2, E_VNx2SFmode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5090; /* maskstorevnx2sfvnx2bi */

        case E_VNx2DImode:
          if (pattern530 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5091; /* maskstorevnx2divnx2bi */

        case E_VNx2DFmode:
          if (pattern530 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
              || !
#line 2123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5092; /* maskstorevnx2dfvnx2bi */

        default:
          return -1;
        }

    case TRUNCATE:
      x6 = XEXP (x5, 0);
      operands[1] = x6;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx8QImode:
          if (pattern592 (x2, E_VNx8QImode, E_VNx8HImode, E_VNx8BImode) != 0
              || !
#line 2175 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5117; /* aarch64_store_truncvnx8qivnx8hi */

        case E_VNx4QImode:
          if (pattern592 (x2, E_VNx4QImode, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2188 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5118; /* aarch64_store_truncvnx4qivnx4si */

        case E_VNx4HImode:
          if (pattern592 (x2, E_VNx4HImode, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 2188 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5119; /* aarch64_store_truncvnx4hivnx4si */

        case E_VNx2QImode:
          if (pattern592 (x2, E_VNx2QImode, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 2201 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5120; /* aarch64_store_truncvnx2qivnx2di */

        case E_VNx2HImode:
          if (pattern592 (x2, E_VNx2HImode, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 2201 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5121; /* aarch64_store_truncvnx2hivnx2di */

        case E_VNx2SImode:
          if (pattern592 (x2, E_VNx2SImode, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 2201 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5122; /* aarch64_store_truncvnx2sivnx2di */

        default:
          return -1;
        }

    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, 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 (pattern530 (x2, E_VNx32QImode, E_VNx16BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5093; /* vec_mask_store_lanesvnx32qivnx16qi */

    case E_VNx16HImode:
      if (pattern530 (x2, E_VNx16HImode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5094; /* vec_mask_store_lanesvnx16hivnx8hi */

    case E_VNx8SImode:
      if (pattern530 (x2, E_VNx8SImode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5095; /* vec_mask_store_lanesvnx8sivnx4si */

    case E_VNx4DImode:
      if (pattern530 (x2, E_VNx4DImode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5096; /* vec_mask_store_lanesvnx4divnx2di */

    case E_VNx16BFmode:
      if (pattern530 (x2, E_VNx16BFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5097; /* vec_mask_store_lanesvnx16bfvnx8bf */

    case E_VNx16HFmode:
      if (pattern530 (x2, E_VNx16HFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5098; /* vec_mask_store_lanesvnx16hfvnx8hf */

    case E_VNx8SFmode:
      if (pattern530 (x2, E_VNx8SFmode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5099; /* vec_mask_store_lanesvnx8sfvnx4sf */

    case E_VNx4DFmode:
      if (pattern530 (x2, E_VNx4DFmode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5100; /* vec_mask_store_lanesvnx4dfvnx2df */

    case E_VNx48QImode:
      if (pattern530 (x2, E_VNx48QImode, E_VNx16BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5101; /* vec_mask_store_lanesvnx48qivnx16qi */

    case E_VNx24HImode:
      if (pattern530 (x2, E_VNx24HImode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5102; /* vec_mask_store_lanesvnx24hivnx8hi */

    case E_VNx12SImode:
      if (pattern530 (x2, E_VNx12SImode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5103; /* vec_mask_store_lanesvnx12sivnx4si */

    case E_VNx6DImode:
      if (pattern530 (x2, E_VNx6DImode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5104; /* vec_mask_store_lanesvnx6divnx2di */

    case E_VNx24BFmode:
      if (pattern530 (x2, E_VNx24BFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5105; /* vec_mask_store_lanesvnx24bfvnx8bf */

    case E_VNx24HFmode:
      if (pattern530 (x2, E_VNx24HFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5106; /* vec_mask_store_lanesvnx24hfvnx8hf */

    case E_VNx12SFmode:
      if (pattern530 (x2, E_VNx12SFmode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5107; /* vec_mask_store_lanesvnx12sfvnx4sf */

    case E_VNx6DFmode:
      if (pattern530 (x2, E_VNx6DFmode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5108; /* vec_mask_store_lanesvnx6dfvnx2df */

    case E_VNx64QImode:
      if (pattern530 (x2, E_VNx64QImode, E_VNx16BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5109; /* vec_mask_store_lanesvnx64qivnx16qi */

    case E_VNx32HImode:
      if (pattern530 (x2, E_VNx32HImode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5110; /* vec_mask_store_lanesvnx32hivnx8hi */

    case E_VNx16SImode:
      if (pattern530 (x2, E_VNx16SImode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5111; /* vec_mask_store_lanesvnx16sivnx4si */

    case E_VNx8DImode:
      if (pattern530 (x2, E_VNx8DImode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5112; /* vec_mask_store_lanesvnx8divnx2di */

    case E_VNx32BFmode:
      if (pattern530 (x2, E_VNx32BFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5113; /* vec_mask_store_lanesvnx32bfvnx8bf */

    case E_VNx32HFmode:
      if (pattern530 (x2, E_VNx32HFmode, E_VNx8BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5114; /* vec_mask_store_lanesvnx32hfvnx8hf */

    case E_VNx16SFmode:
      if (pattern530 (x2, E_VNx16SFmode, E_VNx4BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5115; /* vec_mask_store_lanesvnx16sfvnx4sf */

    case E_VNx8DFmode:
      if (pattern530 (x2, E_VNx8DFmode, E_VNx2BImode) != 0
          || !
#line 2153 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5116; /* vec_mask_store_lanesvnx8dfvnx2df */

    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, 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 (pattern230 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
              || !
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5712; /* aarch64_pred_absvnx8hf */

        case E_VNx4SFmode:
          if (pattern230 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
              || !
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5723; /* aarch64_pred_absvnx4sf */

        case E_VNx2DFmode:
          if (pattern230 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
              || !
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5734; /* aarch64_pred_absvnx2df */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x5, 0) != 4
          || XINT (x5, 1) != 374)
        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 (pattern861 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 5882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7294; /* *aarch64_pred_abdvnx8hf_relaxed */

            case E_VNx4SFmode:
              if (pattern861 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 5882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7295; /* *aarch64_pred_abdvnx4sf_relaxed */

            case E_VNx2DFmode:
              if (pattern861 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 5882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7296; /* *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 (pattern861 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 5905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7297; /* *aarch64_pred_abdvnx8hf_strict */

            case E_VNx4SFmode:
              if (pattern861 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 5905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7298; /* *aarch64_pred_abdvnx4sf_strict */

            case E_VNx2DFmode:
              if (pattern861 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 5905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7299; /* *aarch64_pred_abdvnx2df_strict */

            default:
              return -1;
            }

        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[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 (pattern527 (x2, E_V8QImode))
        {
        case 0:
          if (!
#line 7750 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4094; /* aarch64_qtbx1v8qi */

        case 1:
          if (!
#line 7773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4098; /* aarch64_qtbx2v8qi */

        case 2:
          if (!
#line 7796 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4102; /* aarch64_qtbx3v8qi */

        case 3:
          if (!
#line 7819 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4106; /* aarch64_qtbx4v8qi */

        default:
          return -1;
        }

    case E_V16QImode:
      switch (pattern527 (x2, E_V16QImode))
        {
        case 0:
          if (!
#line 7750 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4095; /* aarch64_qtbx1v16qi */

        case 1:
          if (!
#line 7773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4099; /* aarch64_qtbx2v16qi */

        case 2:
          if (!
#line 7796 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4103; /* aarch64_qtbx3v16qi */

        case 3:
          if (!
#line 7819 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4107; /* aarch64_qtbx4v16qi */

        default:
          return -1;
        }

    case E_VNx16QImode:
      if (pattern254 (x2, E_VNx16QImode) != 0
          || !
#line 2362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10068; /* aarch64_sve2_tbxvnx16qi */

    case E_VNx8HImode:
      if (pattern254 (x2, E_VNx8HImode) != 0
          || !
#line 2362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10069; /* aarch64_sve2_tbxvnx8hi */

    case E_VNx4SImode:
      if (pattern254 (x2, E_VNx4SImode) != 0
          || !
#line 2362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10070; /* aarch64_sve2_tbxvnx4si */

    case E_VNx2DImode:
      if (pattern254 (x2, E_VNx2DImode) != 0
          || !
#line 2362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10071; /* aarch64_sve2_tbxvnx2di */

    case E_VNx8BFmode:
      if (pattern526 (x2, E_VNx8HImode, E_VNx8BFmode) != 0
          || !
#line 2362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10072; /* aarch64_sve2_tbxvnx8bf */

    case E_VNx8HFmode:
      if (pattern526 (x2, E_VNx8HImode, E_VNx8HFmode) != 0
          || !
#line 2362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10073; /* aarch64_sve2_tbxvnx8hf */

    case E_VNx4SFmode:
      if (pattern526 (x2, E_VNx4SImode, E_VNx4SFmode) != 0
          || !
#line 2362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10074; /* aarch64_sve2_tbxvnx4sf */

    case E_VNx2DFmode:
      if (pattern526 (x2, E_VNx2DImode, E_VNx2DFmode) != 0
          || !
#line 2362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10075; /* aarch64_sve2_tbxvnx2df */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern216 (x2))
    {
    case 0:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3029; /* aarch64_sqrdmlshv4hi */

    case 1:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3031; /* aarch64_sqrdmlshv8hi */

    case 2:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3033; /* aarch64_sqrdmlshv2si */

    case 3:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3035; /* aarch64_sqrdmlshv4si */

    case 4:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3037; /* aarch64_sqrdmlshhi */

    case 5:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3039; /* aarch64_sqrdmlshsi */

    case 6:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9478; /* aarch64_sve_sqrdmlshvnx16qi */

    case 7:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9486; /* aarch64_sve_sqrdmlshvnx8hi */

    case 8:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9494; /* aarch64_sve_sqrdmlshvnx4si */

    case 9:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9502; /* aarch64_sve_sqrdmlshvnx2di */

    case 10:
      if (!
#line 5362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3041; /* aarch64_sqrdmlsh_lanev4hi */

    case 11:
      if (!
#line 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3053; /* aarch64_sqrdmlsh_laneqv4hi */

    case 12:
      if (!
#line 5362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3043; /* aarch64_sqrdmlsh_lanev8hi */

    case 13:
      if (!
#line 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3055; /* aarch64_sqrdmlsh_laneqv8hi */

    case 14:
      if (!
#line 5362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3045; /* aarch64_sqrdmlsh_lanev2si */

    case 15:
      if (!
#line 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3057; /* aarch64_sqrdmlsh_laneqv2si */

    case 16:
      if (!
#line 5362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3047; /* aarch64_sqrdmlsh_lanev4si */

    case 17:
      if (!
#line 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3059; /* aarch64_sqrdmlsh_laneqv4si */

    case 18:
      if (!
#line 5380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3049; /* aarch64_sqrdmlsh_lanehi */

    case 19:
      if (!
#line 5418 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3061; /* aarch64_sqrdmlsh_laneqhi */

    case 20:
      if (!
#line 5380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3051; /* aarch64_sqrdmlsh_lanesi */

    case 21:
      if (!
#line 5418 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3063; /* aarch64_sqrdmlsh_laneqsi */

    case 22:
      if (!
#line 706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9504; /* aarch64_sve_sqrdmlsh_lane_vnx8hi */

    case 23:
      if (!
#line 706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9506; /* aarch64_sve_sqrdmlsh_lane_vnx4si */

    case 24:
      if (!
#line 706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9508; /* aarch64_sve_sqrdmlsh_lane_vnx2di */

    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 (pattern216 (x2))
    {
    case 0:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3028; /* aarch64_sqrdmlahv4hi */

    case 1:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3030; /* aarch64_sqrdmlahv8hi */

    case 2:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3032; /* aarch64_sqrdmlahv2si */

    case 3:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3034; /* aarch64_sqrdmlahv4si */

    case 4:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3036; /* aarch64_sqrdmlahhi */

    case 5:
      if (!
#line 5346 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3038; /* aarch64_sqrdmlahsi */

    case 6:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9477; /* aarch64_sve_sqrdmlahvnx16qi */

    case 7:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9485; /* aarch64_sve_sqrdmlahvnx8hi */

    case 8:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9493; /* aarch64_sve_sqrdmlahvnx4si */

    case 9:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9501; /* aarch64_sve_sqrdmlahvnx2di */

    case 10:
      if (!
#line 5362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3040; /* aarch64_sqrdmlah_lanev4hi */

    case 11:
      if (!
#line 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3052; /* aarch64_sqrdmlah_laneqv4hi */

    case 12:
      if (!
#line 5362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3042; /* aarch64_sqrdmlah_lanev8hi */

    case 13:
      if (!
#line 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3054; /* aarch64_sqrdmlah_laneqv8hi */

    case 14:
      if (!
#line 5362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3044; /* aarch64_sqrdmlah_lanev2si */

    case 15:
      if (!
#line 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3056; /* aarch64_sqrdmlah_laneqv2si */

    case 16:
      if (!
#line 5362 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3046; /* aarch64_sqrdmlah_lanev4si */

    case 17:
      if (!
#line 5400 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3058; /* aarch64_sqrdmlah_laneqv4si */

    case 18:
      if (!
#line 5380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3048; /* aarch64_sqrdmlah_lanehi */

    case 19:
      if (!
#line 5418 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3060; /* aarch64_sqrdmlah_laneqhi */

    case 20:
      if (!
#line 5380 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3050; /* aarch64_sqrdmlah_lanesi */

    case 21:
      if (!
#line 5418 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_RDMA))
        return -1;
      return 3062; /* aarch64_sqrdmlah_laneqsi */

    case 22:
      if (!
#line 706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9503; /* aarch64_sve_sqrdmlah_lane_vnx8hi */

    case 23:
      if (!
#line 706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9505; /* aarch64_sve_sqrdmlah_lane_vnx4si */

    case 24:
      if (!
#line 706 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9507; /* aarch64_sve_sqrdmlah_lane_vnx2di */

    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, 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 (pattern242 (x2, E_VNx4SFmode, E_VNx2DFmode, E_VNx8HFmode))
        {
        case 0:
          if (!
#line 9395 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
            return -1;
          return 9064; /* aarch64_sve_fcvt_truncvnx4sfvnx8hf */

        case 1:
          if (!
#line 9395 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
            return -1;
          return 9065; /* 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 9395 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
            return -1;
          return 9066; /* aarch64_sve_fcvt_truncvnx2dfvnx4sf */

        case E_VNx4BImode:
          if (!register_operand (operands[1], E_VNx4BImode)
              || !register_operand (operands[2], E_VNx8HFmode)
              || !
#line 9552 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 > 16))
            return -1;
          return 9073; /* aarch64_sve_fcvt_nontruncvnx8hfvnx4sf */

        default:
          return -1;
        }

    case E_VNx8BFmode:
      if (pattern239 (x2, E_VNx4SFmode, E_VNx4BImode, E_VNx8BFmode) != 0
          || !
#line 9452 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 9070; /* aarch64_sve_fcvt_truncvnx4sfvnx8bf */

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode)
          || GET_MODE (x2) != E_VNx2DFmode)
        return -1;
      switch (pattern240 (E_VNx2BImode))
        {
        case 0:
          if (!
#line 9552 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 16))
            return -1;
          return 9074; /* aarch64_sve_fcvt_nontruncvnx8hfvnx2df */

        case 1:
          if (!
#line 9552 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 > 32))
            return -1;
          return 9075; /* aarch64_sve_fcvt_nontruncvnx4sfvnx2df */

        default:
          return -1;
        }

    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, 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 (pattern530 (x2, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5123; /* aarch64_stnt1vnx16qi */

    case E_VNx8HImode:
      if (pattern530 (x2, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5124; /* aarch64_stnt1vnx8hi */

    case E_VNx4SImode:
      if (pattern530 (x2, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5125; /* aarch64_stnt1vnx4si */

    case E_VNx2DImode:
      if (pattern530 (x2, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5126; /* aarch64_stnt1vnx2di */

    case E_VNx8BFmode:
      if (pattern530 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5127; /* aarch64_stnt1vnx8bf */

    case E_VNx8HFmode:
      if (pattern530 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5128; /* aarch64_stnt1vnx8hf */

    case E_VNx4SFmode:
      if (pattern530 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5129; /* aarch64_stnt1vnx4sf */

    case E_VNx2DFmode:
      if (pattern530 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5130; /* aarch64_stnt1vnx2df */

    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, 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 (pattern251 (x2, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 8774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8724; /* aarch64_sve_splicevnx16qi */

    case E_VNx8HImode:
      if (pattern251 (x2, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 8774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8725; /* aarch64_sve_splicevnx8hi */

    case E_VNx4SImode:
      if (pattern251 (x2, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 8774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8726; /* aarch64_sve_splicevnx4si */

    case E_VNx2DImode:
      if (pattern251 (x2, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 8774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8727; /* aarch64_sve_splicevnx2di */

    case E_VNx8BFmode:
      if (pattern251 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 8774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8728; /* aarch64_sve_splicevnx8bf */

    case E_VNx8HFmode:
      if (pattern251 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 8774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8729; /* aarch64_sve_splicevnx8hf */

    case E_VNx4SFmode:
      if (pattern251 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 8774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8730; /* aarch64_sve_splicevnx4sf */

    case E_VNx2DFmode:
      if (pattern251 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 8774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8731; /* aarch64_sve_splicevnx2df */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern238 (x2))
    {
    case 0:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8581; /* fold_extract_after_last_vnx16qi */

    case 1:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8583; /* fold_extract_after_last_vnx8hi */

    case 2:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8585; /* fold_extract_after_last_vnx4si */

    case 3:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8587; /* fold_extract_after_last_vnx2di */

    case 4:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8589; /* fold_extract_after_last_vnx8bf */

    case 5:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8591; /* fold_extract_after_last_vnx8hf */

    case 6:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8593; /* fold_extract_after_last_vnx4sf */

    case 7:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8595; /* fold_extract_after_last_vnx2df */

    case 8:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8597; /* aarch64_fold_extract_vector_after_last_vnx16qi */

    case 9:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8599; /* aarch64_fold_extract_vector_after_last_vnx8hi */

    case 10:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8601; /* aarch64_fold_extract_vector_after_last_vnx4si */

    case 11:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8603; /* aarch64_fold_extract_vector_after_last_vnx2di */

    case 12:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8605; /* aarch64_fold_extract_vector_after_last_vnx8bf */

    case 13:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8607; /* aarch64_fold_extract_vector_after_last_vnx8hf */

    case 14:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8609; /* aarch64_fold_extract_vector_after_last_vnx4sf */

    case 15:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8611; /* aarch64_fold_extract_vector_after_last_vnx2df */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern238 (x2))
    {
    case 0:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8582; /* fold_extract_last_vnx16qi */

    case 1:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8584; /* fold_extract_last_vnx8hi */

    case 2:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8586; /* fold_extract_last_vnx4si */

    case 3:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8588; /* fold_extract_last_vnx2di */

    case 4:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8590; /* fold_extract_last_vnx8bf */

    case 5:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8592; /* fold_extract_last_vnx8hf */

    case 6:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8594; /* fold_extract_last_vnx4sf */

    case 7:
      if (!
#line 8485 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8596; /* fold_extract_last_vnx2df */

    case 8:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8598; /* aarch64_fold_extract_vector_last_vnx16qi */

    case 9:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8600; /* aarch64_fold_extract_vector_last_vnx8hi */

    case 10:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8602; /* aarch64_fold_extract_vector_last_vnx4si */

    case 11:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8604; /* aarch64_fold_extract_vector_last_vnx2di */

    case 12:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8606; /* aarch64_fold_extract_vector_last_vnx8bf */

    case 13:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8608; /* aarch64_fold_extract_vector_last_vnx8hf */

    case 14:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8610; /* aarch64_fold_extract_vector_last_vnx4sf */

    case 15:
      if (!
#line 8498 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8612; /* aarch64_fold_extract_vector_last_vnx2df */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern229 (x2))
    {
    case 0:
      if (pattern647 (x2, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4849; /* aarch64_ldnf1vnx16qi */

    case 1:
      if (pattern647 (x2, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4851; /* aarch64_ldnf1vnx8hi */

    case 2:
      if (pattern647 (x2, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4853; /* aarch64_ldnf1vnx4si */

    case 3:
      if (pattern647 (x2, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4855; /* aarch64_ldnf1vnx2di */

    case 4:
      if (pattern647 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4857; /* aarch64_ldnf1vnx8bf */

    case 5:
      if (pattern647 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4859; /* aarch64_ldnf1vnx8hf */

    case 6:
      if (pattern647 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4861; /* aarch64_ldnf1vnx4sf */

    case 7:
      if (pattern647 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4863; /* aarch64_ldnf1vnx2df */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern229 (x2))
    {
    case 0:
      if (pattern646 (x2, E_VNx16QImode, E_VNx16BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4848; /* aarch64_ldff1vnx16qi */

    case 1:
      if (pattern646 (x2, E_VNx8HImode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4850; /* aarch64_ldff1vnx8hi */

    case 2:
      if (pattern646 (x2, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4852; /* aarch64_ldff1vnx4si */

    case 3:
      if (pattern646 (x2, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4854; /* aarch64_ldff1vnx2di */

    case 4:
      if (pattern646 (x2, E_VNx8BFmode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4856; /* aarch64_ldff1vnx8bf */

    case 5:
      if (pattern646 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4858; /* aarch64_ldff1vnx8hf */

    case 6:
      if (pattern646 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4860; /* aarch64_ldff1vnx4sf */

    case 7:
      if (pattern646 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
          || !
#line 1330 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4862; /* aarch64_ldff1vnx2df */

    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, 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 (pattern649 (x2, E_VNx16BImode) != 0
          || !
#line 9851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 8))
        return -1;
      *pnum_clobbers = 1;
      return 9104; /* aarch64_sve_pnextvnx16bi */

    case E_VNx8BImode:
      if (pattern649 (x2, E_VNx8BImode) != 0
          || !
#line 9851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      *pnum_clobbers = 1;
      return 9105; /* aarch64_sve_pnextvnx8bi */

    case E_VNx4BImode:
      if (pattern649 (x2, E_VNx4BImode) != 0
          || !
#line 9851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      *pnum_clobbers = 1;
      return 9106; /* aarch64_sve_pnextvnx4bi */

    case E_VNx2BImode:
      if (pattern649 (x2, E_VNx2BImode) != 0
          || !
#line 9851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      *pnum_clobbers = 1;
      return 9107; /* aarch64_sve_pnextvnx2bi */

    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, 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 (pattern533 (x2, E_VNx16QImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9592; /* aarch64_sve_srivnx16qi */

    case E_VNx8HImode:
      if (pattern533 (x2, E_VNx8HImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9594; /* aarch64_sve_srivnx8hi */

    case E_VNx4SImode:
      if (pattern533 (x2, E_VNx4SImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9596; /* aarch64_sve_srivnx4si */

    case E_VNx2DImode:
      if (pattern533 (x2, E_VNx2DImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9598; /* aarch64_sve_srivnx2di */

    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, 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 (pattern532 (x2, E_VNx16QImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9591; /* aarch64_sve_slivnx16qi */

    case E_VNx8HImode:
      if (pattern532 (x2, E_VNx8HImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9593; /* aarch64_sve_slivnx8hi */

    case E_VNx4SImode:
      if (pattern532 (x2, E_VNx4SImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9595; /* aarch64_sve_slivnx4si */

    case E_VNx2DImode:
      if (pattern532 (x2, E_VNx2DImode) != 0
          || !
#line 1165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9597; /* aarch64_sve_slivnx2di */

    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 (pattern221 (x2))
    {
    case 0:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3281; /* aarch64_usri_nv8qi */

    case 1:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3285; /* aarch64_usri_nv16qi */

    case 2:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3289; /* aarch64_usri_nv4hi */

    case 3:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3293; /* aarch64_usri_nv8hi */

    case 4:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3297; /* aarch64_usri_nv2si */

    case 5:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3301; /* aarch64_usri_nv4si */

    case 6:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3305; /* aarch64_usri_nv2di */

    case 7:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3309; /* aarch64_usri_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 (pattern221 (x2))
    {
    case 0:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3280; /* aarch64_ssri_nv8qi */

    case 1:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3284; /* aarch64_ssri_nv16qi */

    case 2:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3288; /* aarch64_ssri_nv4hi */

    case 3:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3292; /* aarch64_ssri_nv8hi */

    case 4:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3296; /* aarch64_ssri_nv2si */

    case 5:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3300; /* aarch64_ssri_nv4si */

    case 6:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3304; /* aarch64_ssri_nv2di */

    case 7:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3308; /* aarch64_ssri_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 (pattern226 (x2))
    {
    case 0:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3279; /* aarch64_usli_nv8qi */

    case 1:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3283; /* aarch64_usli_nv16qi */

    case 2:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3287; /* aarch64_usli_nv4hi */

    case 3:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3291; /* aarch64_usli_nv8hi */

    case 4:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3295; /* aarch64_usli_nv2si */

    case 5:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3299; /* aarch64_usli_nv4si */

    case 6:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3303; /* aarch64_usli_nv2di */

    case 7:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3307; /* aarch64_usli_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 (pattern226 (x2))
    {
    case 0:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3278; /* aarch64_ssli_nv8qi */

    case 1:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3282; /* aarch64_ssli_nv16qi */

    case 2:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3286; /* aarch64_ssli_nv4hi */

    case 3:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3290; /* aarch64_ssli_nv8hi */

    case 4:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3294; /* aarch64_ssli_nv2si */

    case 5:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3298; /* aarch64_ssli_nv4si */

    case 6:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3302; /* aarch64_ssli_nv2di */

    case 7:
      if (!
#line 6366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3306; /* aarch64_ssli_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 (pattern221 (x2))
    {
    case 0:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3249; /* aarch64_ursra_nv8qi */

    case 1:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3253; /* aarch64_ursra_nv16qi */

    case 2:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3257; /* aarch64_ursra_nv4hi */

    case 3:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3261; /* aarch64_ursra_nv8hi */

    case 4:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3265; /* aarch64_ursra_nv2si */

    case 5:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3269; /* aarch64_ursra_nv4si */

    case 6:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3273; /* aarch64_ursra_nv2di */

    case 7:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3277; /* aarch64_ursra_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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern221 (x2))
    {
    case 0:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3248; /* aarch64_srsra_nv8qi */

    case 1:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3252; /* aarch64_srsra_nv16qi */

    case 2:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3256; /* aarch64_srsra_nv4hi */

    case 3:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3260; /* aarch64_srsra_nv8hi */

    case 4:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3264; /* aarch64_srsra_nv2si */

    case 5:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3268; /* aarch64_srsra_nv4si */

    case 6:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3272; /* aarch64_srsra_nv2di */

    case 7:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3276; /* aarch64_srsra_ndi */

    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 (pattern221 (x2))
    {
    case 0:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3247; /* aarch64_usra_nv8qi */

    case 1:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3251; /* aarch64_usra_nv16qi */

    case 2:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3255; /* aarch64_usra_nv4hi */

    case 3:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3259; /* aarch64_usra_nv8hi */

    case 4:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3263; /* aarch64_usra_nv2si */

    case 5:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3267; /* aarch64_usra_nv4si */

    case 6:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3271; /* aarch64_usra_nv2di */

    case 7:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3275; /* aarch64_usra_ndi */

    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 (pattern221 (x2))
    {
    case 0:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3246; /* aarch64_ssra_nv8qi */

    case 1:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3250; /* aarch64_ssra_nv16qi */

    case 2:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3254; /* aarch64_ssra_nv4hi */

    case 3:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3258; /* aarch64_ssra_nv8hi */

    case 4:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3262; /* aarch64_ssra_nv2si */

    case 5:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3266; /* aarch64_ssra_nv4si */

    case 6:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3270; /* aarch64_ssra_nv2di */

    case 7:
      if (!
#line 6352 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3274; /* aarch64_ssra_ndi */

    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, 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 (pattern239 (x2, E_VNx8HFmode, E_VNx8BImode, E_VNx8HImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10040; /* aarch64_pred_flogbvnx8hf */

    case E_VNx4SImode:
      if (pattern239 (x2, E_VNx4SFmode, E_VNx4BImode, E_VNx4SImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10041; /* aarch64_pred_flogbvnx4sf */

    case E_VNx2DImode:
      if (pattern239 (x2, E_VNx2DFmode, E_VNx2BImode, E_VNx2DImode) != 0
          || !
#line 2222 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10042; /* aarch64_pred_flogbvnx2df */

    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 (pattern243 (x2))
    {
    case 0:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
        return -1;
      return 9025; /* aarch64_sve_floatuns_nonextendvnx8hivnx8hf */

    case 1:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
        return -1;
      return 9027; /* aarch64_sve_floatuns_nonextendvnx4sivnx8hf */

    case 2:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      return 9031; /* aarch64_sve_floatuns_nonextendvnx2divnx8hf */

    case 3:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
        return -1;
      return 9029; /* aarch64_sve_floatuns_nonextendvnx4sivnx4sf */

    case 4:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      return 9033; /* aarch64_sve_floatuns_nonextendvnx2divnx4sf */

    case 5:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      return 9035; /* aarch64_sve_floatuns_nonextendvnx2divnx2df */

    case 6:
      if (!
#line 9212 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9037; /* aarch64_sve_floatuns_extendvnx4sivnx2df */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern241 (x2))
    {
    case 0:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
        return -1;
      return 8985; /* aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx8hi */

    case 1:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
        return -1;
      return 8987; /* aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx4si */

    case 2:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
        return -1;
      return 8989; /* aarch64_sve_fixuns_trunc_nontruncvnx4sfvnx4si */

    case 3:
      if (!
#line 9025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8997; /* aarch64_sve_fixuns_trunc_truncvnx2dfvnx4si */

    case 4:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      return 8991; /* aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx2di */

    case 5:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      return 8993; /* aarch64_sve_fixuns_trunc_nontruncvnx4sfvnx2di */

    case 6:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      return 8995; /* aarch64_sve_fixuns_trunc_nontruncvnx2dfvnx2di */

    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 (pattern241 (x2))
    {
    case 0:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
        return -1;
      return 8984; /* aarch64_sve_fix_trunc_nontruncvnx8hfvnx8hi */

    case 1:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
        return -1;
      return 8986; /* aarch64_sve_fix_trunc_nontruncvnx8hfvnx4si */

    case 2:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
        return -1;
      return 8988; /* aarch64_sve_fix_trunc_nontruncvnx4sfvnx4si */

    case 3:
      if (!
#line 9025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8996; /* aarch64_sve_fix_trunc_truncvnx2dfvnx4si */

    case 4:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      return 8990; /* aarch64_sve_fix_trunc_nontruncvnx8hfvnx2di */

    case 5:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      return 8992; /* aarch64_sve_fix_trunc_nontruncvnx4sfvnx2di */

    case 6:
      if (!
#line 9010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      return 8994; /* aarch64_sve_fix_trunc_nontruncvnx2dfvnx2di */

    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 (pattern243 (x2))
    {
    case 0:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16))
        return -1;
      return 9024; /* aarch64_sve_float_nonextendvnx8hivnx8hf */

    case 1:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16))
        return -1;
      return 9026; /* aarch64_sve_float_nonextendvnx4sivnx8hf */

    case 2:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
        return -1;
      return 9030; /* aarch64_sve_float_nonextendvnx2divnx8hf */

    case 3:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32))
        return -1;
      return 9028; /* aarch64_sve_float_nonextendvnx4sivnx4sf */

    case 4:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
        return -1;
      return 9032; /* aarch64_sve_float_nonextendvnx2divnx4sf */

    case 5:
      if (!
#line 9197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
        return -1;
      return 9034; /* aarch64_sve_float_nonextendvnx2divnx2df */

    case 6:
      if (!
#line 9212 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9036; /* aarch64_sve_float_extendvnx4sivnx2df */

    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, 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 (pattern66 (x2, E_VNx8HFmode) != 0
          || !
#line 7499 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7685; /* aarch64_sve_tmadvnx8hf */

    case E_VNx4SFmode:
      if (pattern66 (x2, E_VNx4SFmode) != 0
          || !
#line 7499 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7686; /* aarch64_sve_tmadvnx4sf */

    case E_VNx2DFmode:
      if (pattern66 (x2, E_VNx2DFmode) != 0
          || !
#line 7499 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7687; /* aarch64_sve_tmadvnx2df */

    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 (pattern256 (x2))
    {
    case 0:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9967; /* aarch64_sve_sqrdcmlah270vnx16qi */

    case 1:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9975; /* aarch64_sve_sqrdcmlah270vnx8hi */

    case 2:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9983; /* aarch64_sve_sqrdcmlah270vnx4si */

    case 3:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9991; /* aarch64_sve_sqrdcmlah270vnx2di */

    case 4:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9999; /* aarch64_sqrdcmlah270_lane_vnx8hi */

    case 5:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10007; /* aarch64_sqrdcmlah270_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 (pattern256 (x2))
    {
    case 0:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9966; /* aarch64_sve_sqrdcmlah180vnx16qi */

    case 1:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9974; /* aarch64_sve_sqrdcmlah180vnx8hi */

    case 2:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9982; /* aarch64_sve_sqrdcmlah180vnx4si */

    case 3:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9990; /* aarch64_sve_sqrdcmlah180vnx2di */

    case 4:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9998; /* aarch64_sqrdcmlah180_lane_vnx8hi */

    case 5:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10006; /* aarch64_sqrdcmlah180_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 (pattern256 (x2))
    {
    case 0:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9965; /* aarch64_sve_sqrdcmlah90vnx16qi */

    case 1:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9973; /* aarch64_sve_sqrdcmlah90vnx8hi */

    case 2:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9981; /* aarch64_sve_sqrdcmlah90vnx4si */

    case 3:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9989; /* aarch64_sve_sqrdcmlah90vnx2di */

    case 4:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9997; /* aarch64_sqrdcmlah90_lane_vnx8hi */

    case 5:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10005; /* aarch64_sqrdcmlah90_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 (pattern256 (x2))
    {
    case 0:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9964; /* aarch64_sve_sqrdcmlahvnx16qi */

    case 1:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9972; /* aarch64_sve_sqrdcmlahvnx8hi */

    case 2:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9980; /* aarch64_sve_sqrdcmlahvnx4si */

    case 3:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9988; /* aarch64_sve_sqrdcmlahvnx2di */

    case 4:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9996; /* aarch64_sqrdcmlah_lane_vnx8hi */

    case 5:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10004; /* aarch64_sqrdcmlah_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 (pattern256 (x2))
    {
    case 0:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9963; /* aarch64_sve_cmla270vnx16qi */

    case 1:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9971; /* aarch64_sve_cmla270vnx8hi */

    case 2:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9979; /* aarch64_sve_cmla270vnx4si */

    case 3:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9987; /* aarch64_sve_cmla270vnx2di */

    case 4:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9995; /* aarch64_cmla270_lane_vnx8hi */

    case 5:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10003; /* aarch64_cmla270_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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern256 (x2))
    {
    case 0:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9962; /* aarch64_sve_cmla180vnx16qi */

    case 1:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9970; /* aarch64_sve_cmla180vnx8hi */

    case 2:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9978; /* aarch64_sve_cmla180vnx4si */

    case 3:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9986; /* aarch64_sve_cmla180vnx2di */

    case 4:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9994; /* aarch64_cmla180_lane_vnx8hi */

    case 5:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10002; /* aarch64_cmla180_lane_vnx4si */

    default:
      return -1;
    }
}

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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern256 (x2))
    {
    case 0:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9961; /* aarch64_sve_cmla90vnx16qi */

    case 1:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9969; /* aarch64_sve_cmla90vnx8hi */

    case 2:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9977; /* aarch64_sve_cmla90vnx4si */

    case 3:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9985; /* aarch64_sve_cmla90vnx2di */

    case 4:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9993; /* aarch64_cmla90_lane_vnx8hi */

    case 5:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10001; /* aarch64_cmla90_lane_vnx4si */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern256 (x2))
    {
    case 0:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9960; /* aarch64_sve_cmlavnx16qi */

    case 1:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9968; /* aarch64_sve_cmlavnx8hi */

    case 2:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9976; /* aarch64_sve_cmlavnx4si */

    case 3:
      if (!
#line 1843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9984; /* aarch64_sve_cmlavnx2di */

    case 4:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9992; /* aarch64_cmla_lane_vnx8hi */

    case 5:
      if (!
#line 1860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10000; /* aarch64_cmla_lane_vnx4si */

    default:
      return -1;
    }
}

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;
  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 9851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 8 >= 8))
    return -1;
  *pnum_clobbers = 1;
  return 9103; /* aarch64_sve_pfirstvnx16bi */
}

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[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 (pattern531 (x2, E_VNx8HFmode, E_HFmode, E_VNx8BImode) != 0
          || !
#line 8637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8663; /* mask_fold_left_plus_vnx8hf */

    case E_SFmode:
      if (pattern531 (x2, E_VNx4SFmode, E_SFmode, E_VNx4BImode) != 0
          || !
#line 8637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8664; /* mask_fold_left_plus_vnx4sf */

    case E_DFmode:
      if (pattern531 (x2, E_VNx2DFmode, E_DFmode, E_VNx2BImode) != 0
          || !
#line 8637 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8665; /* mask_fold_left_plus_vnx2df */

    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, 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 2055 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
    return -1;
  return 10032; /* aarch64_pred_fcvtxvnx4sf */
}

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, 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 (pattern239 (x2, E_VNx8HFmode, E_VNx4BImode, E_VNx4SFmode) != 0
          || !
#line 1966 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10024; /* aarch64_pred_fcvtltvnx4sf */

    case E_VNx2DFmode:
      if (pattern239 (x2, E_VNx4SFmode, E_VNx2BImode, E_VNx2DFmode) != 0
          || !
#line 1966 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10025; /* aarch64_pred_fcvtltvnx2df */

    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, 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 (pattern251 (x2, E_VNx4SImode, E_VNx4BImode) != 0
          || !
#line 2445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10088; /* aarch64_sve2_histcntvnx4si */

    case E_VNx2DImode:
      if (pattern251 (x2, E_VNx2DImode, E_VNx2BImode) != 0
          || !
#line 2445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10089; /* aarch64_sve2_histcntvnx2di */

    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 (pattern258 (x2))
    {
    case 0:
      if (!
#line 1923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10011; /* aarch64_sve_cdot270vnx4si */

    case 1:
      if (!
#line 1923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10015; /* aarch64_sve_cdot270vnx2di */

    case 2:
      if (!
#line 1940 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10019; /* aarch64_cdot270_lane_vnx4si */

    case 3:
      if (!
#line 1940 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10023; /* aarch64_cdot270_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 (pattern258 (x2))
    {
    case 0:
      if (!
#line 1923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10009; /* aarch64_sve_cdot90vnx4si */

    case 1:
      if (!
#line 1923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10013; /* aarch64_sve_cdot90vnx2di */

    case 2:
      if (!
#line 1940 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10017; /* aarch64_cdot90_lane_vnx4si */

    case 3:
      if (!
#line 1940 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10021; /* aarch64_cdot90_lane_vnx2di */

    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 (pattern258 (x2))
    {
    case 0:
      if (!
#line 1923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10010; /* aarch64_sve_cdot180vnx4si */

    case 1:
      if (!
#line 1923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10014; /* aarch64_sve_cdot180vnx2di */

    case 2:
      if (!
#line 1940 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10018; /* aarch64_cdot180_lane_vnx4si */

    case 3:
      if (!
#line 1940 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10022; /* aarch64_cdot180_lane_vnx2di */

    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 (pattern258 (x2))
    {
    case 0:
      if (!
#line 1923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10008; /* aarch64_sve_cdotvnx4si */

    case 1:
      if (!
#line 1923 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10012; /* aarch64_sve_cdotvnx2di */

    case 2:
      if (!
#line 1940 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10016; /* aarch64_cdot_lane_vnx4si */

    case 3:
      if (!
#line 1940 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10020; /* aarch64_cdot_lane_vnx2di */

    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 (pattern252 (x2))
    {
    case 0:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9901; /* aarch64_pred_uminpvnx16qi */

    case 1:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9906; /* aarch64_pred_uminpvnx8hi */

    case 2:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9911; /* aarch64_pred_uminpvnx4si */

    case 3:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9916; /* aarch64_pred_uminpvnx2di */

    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 (pattern252 (x2))
    {
    case 0:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9900; /* aarch64_pred_umaxpvnx16qi */

    case 1:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9905; /* aarch64_pred_umaxpvnx8hi */

    case 2:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9910; /* aarch64_pred_umaxpvnx4si */

    case 3:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9915; /* aarch64_pred_umaxpvnx2di */

    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 (pattern252 (x2))
    {
    case 0:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9899; /* aarch64_pred_sminpvnx16qi */

    case 1:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9904; /* aarch64_pred_sminpvnx8hi */

    case 2:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9909; /* aarch64_pred_sminpvnx4si */

    case 3:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9914; /* aarch64_pred_sminpvnx2di */

    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 (pattern252 (x2))
    {
    case 0:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9898; /* aarch64_pred_smaxpvnx16qi */

    case 1:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9903; /* aarch64_pred_smaxpvnx8hi */

    case 2:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9908; /* aarch64_pred_smaxpvnx4si */

    case 3:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9913; /* aarch64_pred_smaxpvnx2di */

    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 (pattern252 (x2))
    {
    case 0:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9897; /* aarch64_pred_addpvnx16qi */

    case 1:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9902; /* aarch64_pred_addpvnx8hi */

    case 2:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9907; /* aarch64_pred_addpvnx4si */

    case 3:
      if (!
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9912; /* aarch64_pred_addpvnx2di */

    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 (pattern246 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9476; /* aarch64_sve_sbcltvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9484; /* aarch64_sve_sbcltvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9492; /* aarch64_sve_sbcltvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9500; /* aarch64_sve_sbcltvnx2di */

    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 (pattern246 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9475; /* aarch64_sve_sbclbvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9483; /* aarch64_sve_sbclbvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9491; /* aarch64_sve_sbclbvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9499; /* aarch64_sve_sbclbvnx2di */

    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 (pattern246 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9474; /* aarch64_sve_eortbvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9482; /* aarch64_sve_eortbvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9490; /* aarch64_sve_eortbvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9498; /* aarch64_sve_eortbvnx2di */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern246 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9473; /* aarch64_sve_eorbtvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9481; /* aarch64_sve_eorbtvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9489; /* aarch64_sve_eorbtvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9497; /* aarch64_sve_eorbtvnx2di */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (pattern246 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9472; /* aarch64_sve_adcltvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9480; /* aarch64_sve_adcltvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9488; /* aarch64_sve_adcltvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9496; /* aarch64_sve_adcltvnx2di */

    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 (pattern246 (x2))
    {
    case 0:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9471; /* aarch64_sve_adclbvnx16qi */

    case 1:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9479; /* aarch64_sve_adclbvnx8hi */

    case 2:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9487; /* aarch64_sve_adclbvnx4si */

    case 3:
      if (!
#line 689 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 9495; /* aarch64_sve_adclbvnx2di */

    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, 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 (pattern245 (x2, E_VNx4SFmode) != 0
          || !(
#line 7561 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE_F32MM)))
        return -1;
      return 7695; /* aarch64_sve_fmmlavnx4sf */

    case E_VNx2DFmode:
      if (pattern245 (x2, E_VNx2DFmode) != 0
          || !(
#line 7561 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE_F64MM)))
        return -1;
      return 7696; /* aarch64_sve_fmmlavnx2df */

    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, 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 (pattern526 (x2, E_SImode, E_SFmode) != 0
          || !
#line 6877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 1100; /* copysignsf3_insn */

    case E_DFmode:
      if (pattern526 (x2, E_DImode, E_DFmode) != 0
          || !
#line 6877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 1101; /* copysigndf3_insn */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XINT (x2, 1))
    {
    case 148:
      return recog_387 (x1, insn, pnum_clobbers);

    case 68:
      switch (pattern210 (x2, E_V8QImode, E_V4HImode, E_V2SImode))
        {
        case 0:
          if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1721; /* aarch64_sabalv8qi */

        case 1:
          if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1723; /* aarch64_sabalv4hi */

        case 2:
          if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1725; /* aarch64_sabalv2si */

        default:
          return -1;
        }

    case 92:
      switch (pattern210 (x2, E_V8QImode, E_V4HImode, E_V2SImode))
        {
        case 0:
          if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1722; /* aarch64_uabalv8qi */

        case 1:
          if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1724; /* aarch64_uabalv4hi */

        case 2:
          if (!
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1726; /* aarch64_uabalv2si */

        default:
          return -1;
        }

    case 69:
      switch (pattern210 (x2, E_V16QImode, E_V8HImode, E_V4SImode))
        {
        case 0:
          if (!
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1727; /* aarch64_sabal2v16qi */

        case 1:
          if (!
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1729; /* aarch64_sabal2v8hi */

        case 2:
          if (!
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1731; /* aarch64_sabal2v4si */

        default:
          return -1;
        }

    case 93:
      switch (pattern210 (x2, E_V16QImode, E_V8HImode, E_V4SImode))
        {
        case 0:
          if (!
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1728; /* aarch64_uabal2v16qi */

        case 1:
          if (!
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1730; /* aarch64_uabal2v8hi */

        case 2:
          if (!
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1732; /* aarch64_uabal2v4si */

        default:
          return -1;
        }

    case 261:
      return recog_333 (x1, insn, pnum_clobbers);

    case 262:
      return recog_332 (x1, insn, pnum_clobbers);

    case 200:
      return recog_351 (x1, insn, pnum_clobbers);

    case 201:
      return recog_350 (x1, insn, pnum_clobbers);

    case 202:
      return recog_349 (x1, insn, pnum_clobbers);

    case 203:
      return recog_348 (x1, insn, pnum_clobbers);

    case 221:
      return recog_347 (x1, insn, pnum_clobbers);

    case 222:
      return recog_346 (x1, insn, pnum_clobbers);

    case 223:
      return recog_345 (x1, insn, pnum_clobbers);

    case 224:
      return recog_344 (x1, insn, pnum_clobbers);

    case 48:
      return recog_327 (x1, insn, pnum_clobbers);

    case 49:
      return recog_325 (x1, insn, pnum_clobbers);

    case 50:
      return recog_326 (x1, insn, pnum_clobbers);

    case 231:
      return recog_331 (x1, insn, pnum_clobbers);

    case 239:
      return recog_324 (x1, insn, pnum_clobbers);

    case 247:
      if (pattern227 (x2) != 0
          || !
#line 8228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2))
        return -1;
      return 4334; /* aarch64_crypto_sha1cv4si */

    case 248:
      if (pattern227 (x2) != 0
          || !
#line 8228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2))
        return -1;
      return 4335; /* aarch64_crypto_sha1mv4si */

    case 249:
      if (pattern227 (x2) != 0
          || !
#line 8228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2))
        return -1;
      return 4336; /* aarch64_crypto_sha1pv4si */

    case 251:
      if (pattern228 (x2, E_V4SImode) != 0
          || !
#line 8239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2))
        return -1;
      return 4337; /* aarch64_crypto_sha1su0v4si */

    case 253:
      if (pattern228 (x2, E_V4SImode) != 0
          || !
#line 8252 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2))
        return -1;
      return 4338; /* aarch64_crypto_sha256hv4si */

    case 254:
      if (pattern228 (x2, E_V4SImode) != 0
          || !
#line 8252 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2))
        return -1;
      return 4339; /* aarch64_crypto_sha256h2v4si */

    case 256:
      if (pattern228 (x2, E_V4SImode) != 0
          || !
#line 8273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2))
        return -1;
      return 4341; /* aarch64_crypto_sha256su1v4si */

    case 276:
      if (pattern228 (x2, E_V2DImode) != 0
          || !
#line 8286 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
        return -1;
      return 4342; /* aarch64_crypto_sha512hqv2di */

    case 277:
      if (pattern228 (x2, E_V2DImode) != 0
          || !
#line 8286 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
        return -1;
      return 4343; /* aarch64_crypto_sha512h2qv2di */

    case 279:
      if (pattern228 (x2, E_V2DImode) != 0
          || !
#line 8307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
        return -1;
      return 4345; /* aarch64_crypto_sha512su1qv2di */

    case 267:
      if (pattern228 (x2, E_V4SImode) != 0
          || !
#line 8370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SM4))
        return -1;
      return 4356; /* aarch64_sm3ss1qv4si */

    case 272:
      if (pattern228 (x2, E_V4SImode) != 0
          || !
#line 8394 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SM4))
        return -1;
      return 4361; /* aarch64_sm3partw1qv4si */

    case 273:
      if (pattern228 (x2, E_V4SImode) != 0
          || !
#line 8394 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SM4))
        return -1;
      return 4362; /* aarch64_sm3partw2qv4si */

    case 382:
      return recog_340 (x1, insn, pnum_clobbers);

    case 383:
      return recog_339 (x1, insn, pnum_clobbers);

    case 110:
      return recog_328 (x1, insn, pnum_clobbers);

    case 139:
      return recog_329 (x1, insn, pnum_clobbers);

    case 112:
      return recog_335 (x1, insn, pnum_clobbers);

    case 285:
      return recog_322 (x1, insn, pnum_clobbers);

    case 334:
      return recog_330 (x1, insn, pnum_clobbers);

    case 361:
      switch (pattern231 (x2))
        {
        case 0:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5713; /* aarch64_pred_negvnx8hf */

        case 1:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5724; /* aarch64_pred_negvnx4sf */

        case 2:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5735; /* aarch64_pred_negvnx2df */

        default:
          return -1;
        }

    case 364:
      switch (pattern231 (x2))
        {
        case 0:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5714; /* aarch64_pred_frecpxvnx8hf */

        case 1:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5725; /* aarch64_pred_frecpxvnx4sf */

        case 2:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5736; /* aarch64_pred_frecpxvnx2df */

        default:
          return -1;
        }

    case 365:
      switch (pattern231 (x2))
        {
        case 0:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5715; /* aarch64_pred_roundvnx8hf */

        case 1:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5726; /* aarch64_pred_roundvnx4sf */

        case 2:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5737; /* aarch64_pred_roundvnx2df */

        default:
          return -1;
        }

    case 366:
      switch (pattern231 (x2))
        {
        case 0:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5716; /* aarch64_pred_nearbyintvnx8hf */

        case 1:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5727; /* aarch64_pred_nearbyintvnx4sf */

        case 2:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5738; /* aarch64_pred_nearbyintvnx2df */

        default:
          return -1;
        }

    case 367:
      switch (pattern231 (x2))
        {
        case 0:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5717; /* aarch64_pred_floorvnx8hf */

        case 1:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5728; /* aarch64_pred_floorvnx4sf */

        case 2:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5739; /* aarch64_pred_floorvnx2df */

        default:
          return -1;
        }

    case 368:
      switch (pattern231 (x2))
        {
        case 0:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5718; /* aarch64_pred_frintnvnx8hf */

        case 1:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5729; /* aarch64_pred_frintnvnx4sf */

        case 2:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5740; /* aarch64_pred_frintnvnx2df */

        default:
          return -1;
        }

    case 369:
      switch (pattern231 (x2))
        {
        case 0:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5719; /* aarch64_pred_ceilvnx8hf */

        case 1:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5730; /* aarch64_pred_ceilvnx4sf */

        case 2:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5741; /* aarch64_pred_ceilvnx2df */

        default:
          return -1;
        }

    case 370:
      switch (pattern231 (x2))
        {
        case 0:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5720; /* aarch64_pred_rintvnx8hf */

        case 1:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5731; /* aarch64_pred_rintvnx4sf */

        case 2:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5742; /* aarch64_pred_rintvnx2df */

        default:
          return -1;
        }

    case 371:
      switch (pattern231 (x2))
        {
        case 0:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5721; /* aarch64_pred_btruncvnx8hf */

        case 1:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5732; /* aarch64_pred_btruncvnx4sf */

        case 2:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5743; /* aarch64_pred_btruncvnx2df */

        default:
          return -1;
        }

    case 373:
      switch (pattern231 (x2))
        {
        case 0:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5722; /* aarch64_pred_sqrtvnx8hf */

        case 1:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5733; /* aarch64_pred_sqrtvnx4sf */

        case 2:
          if (!
#line 3430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5744; /* aarch64_pred_sqrtvnx2df */

        default:
          return -1;
        }

    case 308:
      switch (pattern233 (x2))
        {
        case 0:
          if (!
#line 7250 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7611; /* aarch64_fma_lane_vnx8hf */

        case 1:
          if (!
#line 7250 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7613; /* aarch64_fma_lane_vnx4sf */

        case 2:
          if (!
#line 7250 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7615; /* aarch64_fma_lane_vnx2df */

        default:
          return -1;
        }

    case 309:
      switch (pattern233 (x2))
        {
        case 0:
          if (!
#line 7250 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7612; /* aarch64_fnma_lane_vnx8hf */

        case 1:
          if (!
#line 7250 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7614; /* aarch64_fnma_lane_vnx4sf */

        case 2:
          if (!
#line 7250 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7616; /* aarch64_fnma_lane_vnx2df */

        default:
          return -1;
        }

    case 386:
      switch (pattern234 (x2))
        {
        case 0:
          if (!
#line 7478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7677; /* aarch64_fcmla_lane_vnx8hf */

        case 1:
          if (!
#line 7478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7681; /* aarch64_fcmla_lane_vnx4sf */

        default:
          return -1;
        }

    case 387:
      switch (pattern234 (x2))
        {
        case 0:
          if (!
#line 7478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7678; /* aarch64_fcmla90_lane_vnx8hf */

        case 1:
          if (!
#line 7478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7682; /* aarch64_fcmla90_lane_vnx4sf */

        default:
          return -1;
        }

    case 388:
      switch (pattern234 (x2))
        {
        case 0:
          if (!
#line 7478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7679; /* aarch64_fcmla180_lane_vnx8hf */

        case 1:
          if (!
#line 7478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7683; /* aarch64_fcmla180_lane_vnx4sf */

        default:
          return -1;
        }

    case 389:
      switch (pattern234 (x2))
        {
        case 0:
          if (!
#line 7478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7680; /* aarch64_fcmla270_lane_vnx8hf */

        case 1:
          if (!
#line 7478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7684; /* aarch64_fcmla270_lane_vnx4sf */

        default:
          return -1;
        }

    case 312:
      return recog_357 (x1, insn, pnum_clobbers);

    case 523:
      if (pattern235 (x2) != 0
          || !
#line 7523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7688; /* aarch64_sve_bfdotvnx4sf */

    case 524:
      if (pattern235 (x2) != 0
          || !
#line 7523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7689; /* aarch64_sve_bfmlalbvnx4sf */

    case 525:
      if (pattern235 (x2) != 0
          || !
#line 7523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7690; /* aarch64_sve_bfmlaltvnx4sf */

    case 526:
      if (pattern235 (x2) != 0
          || !
#line 7523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7691; /* aarch64_sve_bfmmlavnx4sf */

    case 311:
      return recog_386 (x1, insn, pnum_clobbers);

    case 120:
      return recog_323 (x1, insn, pnum_clobbers);

    case 141:
      return recog_337 (x1, insn, pnum_clobbers);

    case 142:
      return recog_338 (x1, insn, pnum_clobbers);

    case 143:
      return recog_367 (x1, insn, pnum_clobbers);

    case 159:
      return recog_336 (x1, insn, pnum_clobbers);

    case 350:
      return recog_355 (x1, insn, pnum_clobbers);

    case 351:
      return recog_354 (x1, insn, pnum_clobbers);

    case 375:
      return recog_356 (x1, insn, pnum_clobbers);

    case 376:
      return recog_353 (x1, insn, pnum_clobbers);

    case 349:
      return recog_334 (x1, insn, pnum_clobbers);

    case 286:
      if (pattern244 (x2) != 0
          || !
#line 9669 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9088; /* aarch64_brka */

    case 287:
      if (pattern244 (x2) != 0
          || !
#line 9669 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9089; /* aarch64_brkb */

    case 288:
      if (pattern228 (x2, E_VNx16BImode) != 0
          || !
#line 9736 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9094; /* aarch64_brkn */

    case 289:
      if (pattern228 (x2, E_VNx16BImode) != 0
          || !
#line 9736 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9095; /* aarch64_brkpa */

    case 290:
      if (pattern228 (x2, E_VNx16BImode) != 0
          || !
#line 9736 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9096; /* aarch64_brkpb */

    case 291:
      return recog_366 (x1, insn, pnum_clobbers);

    case 292:
      return recog_341 (x1, insn, pnum_clobbers);

    case 395:
      return recog_385 (x1, insn, pnum_clobbers);

    case 396:
      return recog_384 (x1, insn, pnum_clobbers);

    case 421:
      return recog_383 (x1, insn, pnum_clobbers);

    case 422:
      return recog_382 (x1, insn, pnum_clobbers);

    case 453:
      return recog_381 (x1, insn, pnum_clobbers);

    case 454:
      return recog_380 (x1, insn, pnum_clobbers);

    case 457:
      return recog_343 (x1, insn, pnum_clobbers);

    case 485:
      return recog_342 (x1, insn, pnum_clobbers);

    case 428:
      switch (pattern247 (x2))
        {
        case 0:
          if (!
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9796; /* aarch64_sve_fmlalbvnx4sf */

        case 1:
          if (!
#line 1523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9800; /* aarch64_fmlalb_lane_vnx4sf */

        default:
          return -1;
        }

    case 429:
      switch (pattern247 (x2))
        {
        case 0:
          if (!
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9797; /* aarch64_sve_fmlaltvnx4sf */

        case 1:
          if (!
#line 1523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9801; /* aarch64_fmlalt_lane_vnx4sf */

        default:
          return -1;
        }

    case 430:
      switch (pattern247 (x2))
        {
        case 0:
          if (!
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9798; /* aarch64_sve_fmlslbvnx4sf */

        case 1:
          if (!
#line 1523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9802; /* aarch64_fmlslb_lane_vnx4sf */

        default:
          return -1;
        }

    case 431:
      switch (pattern247 (x2))
        {
        case 0:
          if (!
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9799; /* aarch64_sve_fmlsltvnx4sf */

        case 1:
          if (!
#line 1523 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9803; /* aarch64_fmlslt_lane_vnx4sf */

        default:
          return -1;
        }

    case 398:
      switch (pattern249 (x2))
        {
        case 0:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9834; /* aarch64_sve_addhntvnx8hi */

        case 1:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9838; /* aarch64_sve_addhntvnx4si */

        case 2:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9842; /* aarch64_sve_addhntvnx2di */

        default:
          return -1;
        }

    case 441:
      switch (pattern249 (x2))
        {
        case 0:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9835; /* aarch64_sve_raddhntvnx8hi */

        case 1:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9839; /* aarch64_sve_raddhntvnx4si */

        case 2:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9843; /* aarch64_sve_raddhntvnx2di */

        default:
          return -1;
        }

    case 445:
      switch (pattern249 (x2))
        {
        case 0:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9836; /* aarch64_sve_rsubhntvnx8hi */

        case 1:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9840; /* aarch64_sve_rsubhntvnx4si */

        case 2:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9844; /* aarch64_sve_rsubhntvnx2di */

        default:
          return -1;
        }

    case 495:
      switch (pattern249 (x2))
        {
        case 0:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9837; /* aarch64_sve_subhntvnx8hi */

        case 1:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9841; /* aarch64_sve_subhntvnx4si */

        case 2:
          if (!
#line 1598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9845; /* aarch64_sve_subhntvnx2di */

        default:
          return -1;
        }

    case 443:
      switch (pattern250 (x2))
        {
        case 0:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9873; /* aarch64_sve_rshrntvnx8hi */

        case 1:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9881; /* aarch64_sve_rshrntvnx4si */

        case 2:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9889; /* aarch64_sve_rshrntvnx2di */

        default:
          return -1;
        }

    case 456:
      switch (pattern250 (x2))
        {
        case 0:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9874; /* aarch64_sve_shrntvnx8hi */

        case 1:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9882; /* aarch64_sve_shrntvnx4si */

        case 2:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9890; /* aarch64_sve_shrntvnx2di */

        default:
          return -1;
        }

    case 474:
      switch (pattern250 (x2))
        {
        case 0:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9875; /* aarch64_sve_sqrshrntvnx8hi */

        case 1:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9883; /* aarch64_sve_sqrshrntvnx4si */

        case 2:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9891; /* aarch64_sve_sqrshrntvnx2di */

        default:
          return -1;
        }

    case 476:
      switch (pattern250 (x2))
        {
        case 0:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9876; /* aarch64_sve_sqrshruntvnx8hi */

        case 1:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9884; /* aarch64_sve_sqrshruntvnx4si */

        case 2:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9892; /* aarch64_sve_sqrshruntvnx2di */

        default:
          return -1;
        }

    case 478:
      switch (pattern250 (x2))
        {
        case 0:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9877; /* aarch64_sve_sqshrntvnx8hi */

        case 1:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9885; /* aarch64_sve_sqshrntvnx4si */

        case 2:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9893; /* aarch64_sve_sqshrntvnx2di */

        default:
          return -1;
        }

    case 480:
      switch (pattern250 (x2))
        {
        case 0:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9878; /* aarch64_sve_sqshruntvnx8hi */

        case 1:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9886; /* aarch64_sve_sqshruntvnx4si */

        case 2:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9894; /* aarch64_sve_sqshruntvnx2di */

        default:
          return -1;
        }

    case 510:
      switch (pattern250 (x2))
        {
        case 0:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9879; /* aarch64_sve_uqrshrntvnx8hi */

        case 1:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9887; /* aarch64_sve_uqrshrntvnx4si */

        case 2:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9895; /* aarch64_sve_uqrshrntvnx2di */

        default:
          return -1;
        }

    case 512:
      switch (pattern250 (x2))
        {
        case 0:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9880; /* aarch64_sve_uqshrntvnx8hi */

        case 1:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9888; /* aarch64_sve_uqshrntvnx4si */

        case 2:
          if (!
#line 1660 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9896; /* aarch64_sve_uqshrntvnx2di */

        default:
          return -1;
        }

    case 227:
      return recog_379 (x1, insn, pnum_clobbers);

    case 458:
      return recog_378 (x1, insn, pnum_clobbers);

    case 459:
      return recog_377 (x1, insn, pnum_clobbers);

    case 503:
      return recog_376 (x1, insn, pnum_clobbers);

    case 504:
      return recog_375 (x1, insn, pnum_clobbers);

    case 423:
      switch (pattern253 (x2))
        {
        case 0:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9917; /* aarch64_pred_faddpvnx8hf */

        case 1:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9922; /* aarch64_pred_faddpvnx4sf */

        case 2:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9927; /* aarch64_pred_faddpvnx2df */

        default:
          return -1;
        }

    case 425:
      switch (pattern253 (x2))
        {
        case 0:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9918; /* aarch64_pred_fmaxpvnx8hf */

        case 1:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9923; /* aarch64_pred_fmaxpvnx4sf */

        case 2:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9928; /* aarch64_pred_fmaxpvnx2df */

        default:
          return -1;
        }

    case 424:
      switch (pattern253 (x2))
        {
        case 0:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9919; /* aarch64_pred_fmaxnmpvnx8hf */

        case 1:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9924; /* aarch64_pred_fmaxnmpvnx4sf */

        case 2:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9929; /* aarch64_pred_fmaxnmpvnx2df */

        default:
          return -1;
        }

    case 427:
      switch (pattern253 (x2))
        {
        case 0:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9920; /* aarch64_pred_fminpvnx8hf */

        case 1:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9925; /* aarch64_pred_fminpvnx4sf */

        case 2:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9930; /* aarch64_pred_fminpvnx2df */

        default:
          return -1;
        }

    case 426:
      switch (pattern253 (x2))
        {
        case 0:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9921; /* aarch64_pred_fminnmpvnx8hf */

        case 1:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9926; /* aarch64_pred_fminnmpvnx4sf */

        case 2:
          if (!
#line 1711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9931; /* aarch64_pred_fminnmpvnx2df */

        default:
          return -1;
        }

    case 408:
      return recog_365 (x1, insn, pnum_clobbers);

    case 411:
      return recog_364 (x1, insn, pnum_clobbers);

    case 409:
      return recog_363 (x1, insn, pnum_clobbers);

    case 410:
      return recog_362 (x1, insn, pnum_clobbers);

    case 469:
      return recog_361 (x1, insn, pnum_clobbers);

    case 472:
      return recog_360 (x1, insn, pnum_clobbers);

    case 470:
      return recog_359 (x1, insn, pnum_clobbers);

    case 471:
      return recog_358 (x1, insn, pnum_clobbers);

    case 404:
      return recog_374 (x1, insn, pnum_clobbers);

    case 407:
      return recog_372 (x1, insn, pnum_clobbers);

    case 405:
      return recog_373 (x1, insn, pnum_clobbers);

    case 406:
      return recog_371 (x1, insn, pnum_clobbers);

    case 416:
      return recog_369 (x1, insn, pnum_clobbers);

    case 418:
      return recog_368 (x1, insn, pnum_clobbers);

    case 420:
      return recog_352 (x1, insn, pnum_clobbers);

    case 432:
      return recog_370 (x1, insn, pnum_clobbers);

    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;
  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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8394; /* while_wrsivnx16bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8404; /* while_wrdivnx16bi_ptest */

    case E_VNx8BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8414; /* while_wrsivnx8bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8424; /* while_wrdivnx8bi_ptest */

    case E_VNx4BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8434; /* while_wrsivnx4bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8444; /* while_wrdivnx4bi_ptest */

    case E_VNx2BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8454; /* while_wrsivnx2bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8464; /* while_wrdivnx2bi_ptest */

    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;
  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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8393; /* while_rwsivnx16bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8403; /* while_rwdivnx16bi_ptest */

    case E_VNx8BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8413; /* while_rwsivnx8bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8423; /* while_rwdivnx8bi_ptest */

    case E_VNx4BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8433; /* while_rwsivnx4bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8443; /* while_rwdivnx4bi_ptest */

    case E_VNx2BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8453; /* while_rwsivnx2bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8463; /* while_rwdivnx2bi_ptest */

    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;
  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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8392; /* while_ugesivnx16bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8402; /* while_ugedivnx16bi_ptest */

    case E_VNx8BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8412; /* while_ugesivnx8bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8422; /* while_ugedivnx8bi_ptest */

    case E_VNx4BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8432; /* while_ugesivnx4bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8442; /* while_ugedivnx4bi_ptest */

    case E_VNx2BImode:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        {
          *pnum_clobbers = 1;
          return 8452; /* while_ugesivnx2bi_ptest */
        }
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      *pnum_clobbers = 1;
      return 8462; /* while_ugedivnx2bi_ptest */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 3);
  switch (XVECLEN (x3, 0))
    {
    case 2:
      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 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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8385; /* while_lesivnx16bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8395; /* while_ledivnx16bi_ptest */

            case E_VNx8BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8405; /* while_lesivnx8bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8415; /* while_ledivnx8bi_ptest */

            case E_VNx4BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8425; /* while_lesivnx4bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8435; /* while_ledivnx4bi_ptest */

            case E_VNx2BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8445; /* while_lesivnx2bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8455; /* while_ledivnx2bi_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8386; /* while_ultsivnx16bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8396; /* while_ultdivnx16bi_ptest */

            case E_VNx8BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8406; /* while_ultsivnx8bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8416; /* while_ultdivnx8bi_ptest */

            case E_VNx4BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8426; /* while_ultsivnx4bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8436; /* while_ultdivnx4bi_ptest */

            case E_VNx2BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8446; /* while_ultsivnx2bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8456; /* while_ultdivnx2bi_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8387; /* while_ulesivnx16bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8397; /* while_uledivnx16bi_ptest */

            case E_VNx8BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8407; /* while_ulesivnx8bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8417; /* while_uledivnx8bi_ptest */

            case E_VNx4BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8427; /* while_ulesivnx4bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8437; /* while_uledivnx4bi_ptest */

            case E_VNx2BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8447; /* while_ulesivnx2bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8457; /* while_uledivnx2bi_ptest */

            default:
              return -1;
            }

        case 135:
          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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8388; /* while_ltsivnx16bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8398; /* while_ltdivnx16bi_ptest */

            case E_VNx8BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8408; /* while_ltsivnx8bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8418; /* while_ltdivnx8bi_ptest */

            case E_VNx4BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8428; /* while_ltsivnx4bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8438; /* while_ltdivnx4bi_ptest */

            case E_VNx2BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                {
                  *pnum_clobbers = 1;
                  return 8448; /* while_ltsivnx2bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8458; /* while_ltdivnx2bi_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8389; /* while_gesivnx16bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8399; /* while_gedivnx16bi_ptest */

            case E_VNx8BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8409; /* while_gesivnx8bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8419; /* while_gedivnx8bi_ptest */

            case E_VNx4BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8429; /* while_gesivnx4bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8439; /* while_gedivnx4bi_ptest */

            case E_VNx2BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8449; /* while_gesivnx2bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8459; /* while_gedivnx2bi_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8390; /* while_gtsivnx16bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8400; /* while_gtdivnx16bi_ptest */

            case E_VNx8BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8410; /* while_gtsivnx8bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8420; /* while_gtdivnx8bi_ptest */

            case E_VNx4BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8430; /* while_gtsivnx4bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8440; /* while_gtdivnx4bi_ptest */

            case E_VNx2BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8450; /* while_gtsivnx2bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8460; /* while_gtdivnx2bi_ptest */

            default:
              return -1;
            }

        case 130:
          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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8391; /* while_ugtsivnx16bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8401; /* while_ugtdivnx16bi_ptest */

            case E_VNx8BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8411; /* while_ugtsivnx8bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8421; /* while_ugtdivnx8bi_ptest */

            case E_VNx4BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8431; /* while_ugtsivnx4bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8441; /* while_ugtdivnx4bi_ptest */

            case E_VNx2BImode:
              if (aarch64_reg_or_zero (operands[1], E_SImode)
                  && aarch64_reg_or_zero (operands[2], E_SImode)
                  && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                {
                  *pnum_clobbers = 1;
                  return 8451; /* while_ugtsivnx2bi_ptest */
                }
              if (!aarch64_reg_or_zero (operands[1], E_DImode)
                  || !aarch64_reg_or_zero (operands[2], E_DImode)
                  || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
                return -1;
              *pnum_clobbers = 1;
              return 8461; /* while_ugtdivnx2bi_ptest */

            default:
              return -1;
            }

        case 131:
          return recog_391 (x1, insn, pnum_clobbers);

        case 136:
          return recog_390 (x1, insn, pnum_clobbers);

        case 137:
          return recog_389 (x1, insn, pnum_clobbers);

        default:
          return -1;
        }

    case 3:
      if (XINT (x3, 1) != 288
          || GET_MODE (x3) != E_VNx16BImode)
        return -1;
      x4 = XVECEXP (x2, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[5] = x5;
      x6 = XVECEXP (x3, 0, 0);
      operands[1] = x6;
      if (!register_operand (operands[1], E_VNx16BImode))
        return -1;
      x7 = XVECEXP (x3, 0, 1);
      operands[2] = x7;
      if (!register_operand (operands[2], E_VNx16BImode))
        return -1;
      x8 = XVECEXP (x3, 0, 2);
      operands[3] = x8;
      if (!register_operand (operands[3], E_VNx16BImode)
          || !
#line 9784 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 9098; /* *aarch64_brkn_ptest */

    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;
  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) != 122
          || 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 4751; /* *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) != 122
          || 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 4752; /* *aarch64_sve_ptruevnx8bi_ptest */

        case E_VNx4BImode:
          if (!aarch64_simd_imm_zero (operands[5], E_VNx4BImode)
              || !
#line 1057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 4753; /* *aarch64_sve_ptruevnx4bi_ptest */

        case E_VNx2BImode:
          if (!aarch64_simd_imm_zero (operands[5], E_VNx2BImode)
              || !
#line 1057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 4754; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 4761; /* *aarch64_rdffr_ptest */

    case UNSPEC:
      return recog_392 (x1, insn, pnum_clobbers);

    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, 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 120:
      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 (pattern928 (x3))
            {
            case 0:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7935; /* *cmpltvnx16qi_ptest */

            case 1:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7945; /* *cmpltvnx8qi_ptest */

            case 2:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7975; /* *cmpltvnx8hi_ptest */

            case 3:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7955; /* *cmpltvnx4qi_ptest */

            case 4:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7985; /* *cmpltvnx4hi_ptest */

            case 5:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8005; /* *cmpltvnx4si_ptest */

            case 6:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7965; /* *cmpltvnx2qi_ptest */

            case 7:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7995; /* *cmpltvnx2hi_ptest */

            case 8:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8015; /* *cmpltvnx2si_ptest */

            case 9:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8025; /* *cmpltvnx2di_ptest */

            default:
              return -1;
            }

        case LE:
          switch (pattern928 (x3))
            {
            case 0:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7936; /* *cmplevnx16qi_ptest */

            case 1:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7946; /* *cmplevnx8qi_ptest */

            case 2:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7976; /* *cmplevnx8hi_ptest */

            case 3:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7956; /* *cmplevnx4qi_ptest */

            case 4:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7986; /* *cmplevnx4hi_ptest */

            case 5:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8006; /* *cmplevnx4si_ptest */

            case 6:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7966; /* *cmplevnx2qi_ptest */

            case 7:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7996; /* *cmplevnx2hi_ptest */

            case 8:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8016; /* *cmplevnx2si_ptest */

            case 9:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8026; /* *cmplevnx2di_ptest */

            default:
              return -1;
            }

        case EQ:
          switch (pattern928 (x3))
            {
            case 0:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7937; /* *cmpeqvnx16qi_ptest */

            case 1:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7947; /* *cmpeqvnx8qi_ptest */

            case 2:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7977; /* *cmpeqvnx8hi_ptest */

            case 3:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7957; /* *cmpeqvnx4qi_ptest */

            case 4:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7987; /* *cmpeqvnx4hi_ptest */

            case 5:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8007; /* *cmpeqvnx4si_ptest */

            case 6:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7967; /* *cmpeqvnx2qi_ptest */

            case 7:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7997; /* *cmpeqvnx2hi_ptest */

            case 8:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8017; /* *cmpeqvnx2si_ptest */

            case 9:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8027; /* *cmpeqvnx2di_ptest */

            default:
              return -1;
            }

        case NE:
          switch (pattern928 (x3))
            {
            case 0:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7938; /* *cmpnevnx16qi_ptest */

            case 1:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7948; /* *cmpnevnx8qi_ptest */

            case 2:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7978; /* *cmpnevnx8hi_ptest */

            case 3:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7958; /* *cmpnevnx4qi_ptest */

            case 4:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7988; /* *cmpnevnx4hi_ptest */

            case 5:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8008; /* *cmpnevnx4si_ptest */

            case 6:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7968; /* *cmpnevnx2qi_ptest */

            case 7:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7998; /* *cmpnevnx2hi_ptest */

            case 8:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8018; /* *cmpnevnx2si_ptest */

            case 9:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8028; /* *cmpnevnx2di_ptest */

            default:
              return -1;
            }

        case GE:
          switch (pattern928 (x3))
            {
            case 0:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7939; /* *cmpgevnx16qi_ptest */

            case 1:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7949; /* *cmpgevnx8qi_ptest */

            case 2:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7979; /* *cmpgevnx8hi_ptest */

            case 3:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7959; /* *cmpgevnx4qi_ptest */

            case 4:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7989; /* *cmpgevnx4hi_ptest */

            case 5:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8009; /* *cmpgevnx4si_ptest */

            case 6:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7969; /* *cmpgevnx2qi_ptest */

            case 7:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7999; /* *cmpgevnx2hi_ptest */

            case 8:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8019; /* *cmpgevnx2si_ptest */

            case 9:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8029; /* *cmpgevnx2di_ptest */

            default:
              return -1;
            }

        case GT:
          switch (pattern928 (x3))
            {
            case 0:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7940; /* *cmpgtvnx16qi_ptest */

            case 1:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7950; /* *cmpgtvnx8qi_ptest */

            case 2:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7980; /* *cmpgtvnx8hi_ptest */

            case 3:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7960; /* *cmpgtvnx4qi_ptest */

            case 4:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7990; /* *cmpgtvnx4hi_ptest */

            case 5:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8010; /* *cmpgtvnx4si_ptest */

            case 6:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7970; /* *cmpgtvnx2qi_ptest */

            case 7:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8000; /* *cmpgtvnx2hi_ptest */

            case 8:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8020; /* *cmpgtvnx2si_ptest */

            case 9:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8030; /* *cmpgtvnx2di_ptest */

            default:
              return -1;
            }

        case LTU:
          switch (pattern929 (x3))
            {
            case 0:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7941; /* *cmplovnx16qi_ptest */

            case 1:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7951; /* *cmplovnx8qi_ptest */

            case 2:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7981; /* *cmplovnx8hi_ptest */

            case 3:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7961; /* *cmplovnx4qi_ptest */

            case 4:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7991; /* *cmplovnx4hi_ptest */

            case 5:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8011; /* *cmplovnx4si_ptest */

            case 6:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7971; /* *cmplovnx2qi_ptest */

            case 7:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8001; /* *cmplovnx2hi_ptest */

            case 8:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021; /* *cmplovnx2si_ptest */

            case 9:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8031; /* *cmplovnx2di_ptest */

            default:
              return -1;
            }

        case LEU:
          switch (pattern929 (x3))
            {
            case 0:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7942; /* *cmplsvnx16qi_ptest */

            case 1:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7952; /* *cmplsvnx8qi_ptest */

            case 2:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7982; /* *cmplsvnx8hi_ptest */

            case 3:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7962; /* *cmplsvnx4qi_ptest */

            case 4:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7992; /* *cmplsvnx4hi_ptest */

            case 5:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8012; /* *cmplsvnx4si_ptest */

            case 6:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7972; /* *cmplsvnx2qi_ptest */

            case 7:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8002; /* *cmplsvnx2hi_ptest */

            case 8:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8022; /* *cmplsvnx2si_ptest */

            case 9:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8032; /* *cmplsvnx2di_ptest */

            default:
              return -1;
            }

        case GEU:
          switch (pattern929 (x3))
            {
            case 0:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7943; /* *cmphsvnx16qi_ptest */

            case 1:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7953; /* *cmphsvnx8qi_ptest */

            case 2:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7983; /* *cmphsvnx8hi_ptest */

            case 3:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7963; /* *cmphsvnx4qi_ptest */

            case 4:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7993; /* *cmphsvnx4hi_ptest */

            case 5:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8013; /* *cmphsvnx4si_ptest */

            case 6:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7973; /* *cmphsvnx2qi_ptest */

            case 7:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8003; /* *cmphsvnx2hi_ptest */

            case 8:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8023; /* *cmphsvnx2si_ptest */

            case 9:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8033; /* *cmphsvnx2di_ptest */

            default:
              return -1;
            }

        case GTU:
          switch (pattern929 (x3))
            {
            case 0:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7944; /* *cmphivnx16qi_ptest */

            case 1:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7954; /* *cmphivnx8qi_ptest */

            case 2:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7984; /* *cmphivnx8hi_ptest */

            case 3:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7964; /* *cmphivnx4qi_ptest */

            case 4:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7994; /* *cmphivnx4hi_ptest */

            case 5:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8014; /* *cmphivnx4si_ptest */

            case 6:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7974; /* *cmphivnx2qi_ptest */

            case 7:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8004; /* *cmphivnx2hi_ptest */

            case 8:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8024; /* *cmphivnx2si_ptest */

            case 9:
              if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8034; /* *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 324:
              switch (pattern956 (x3))
                {
                case 0:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8195; /* *aarch64_pred_cmpeqvnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8205; /* *aarch64_pred_cmpeqvnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8215; /* *aarch64_pred_cmpeqvnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 325:
              switch (pattern956 (x3))
                {
                case 0:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8196; /* *aarch64_pred_cmpgevnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8206; /* *aarch64_pred_cmpgevnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8216; /* *aarch64_pred_cmpgevnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 326:
              switch (pattern956 (x3))
                {
                case 0:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8197; /* *aarch64_pred_cmpgtvnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8207; /* *aarch64_pred_cmpgtvnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8217; /* *aarch64_pred_cmpgtvnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 327:
              switch (pattern956 (x3))
                {
                case 0:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8198; /* *aarch64_pred_cmphivnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8208; /* *aarch64_pred_cmphivnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8218; /* *aarch64_pred_cmphivnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 328:
              switch (pattern956 (x3))
                {
                case 0:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8199; /* *aarch64_pred_cmphsvnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8209; /* *aarch64_pred_cmphsvnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8219; /* *aarch64_pred_cmphsvnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 329:
              switch (pattern956 (x3))
                {
                case 0:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8200; /* *aarch64_pred_cmplevnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8210; /* *aarch64_pred_cmplevnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8220; /* *aarch64_pred_cmplevnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 330:
              switch (pattern956 (x3))
                {
                case 0:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8201; /* *aarch64_pred_cmplovnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8211; /* *aarch64_pred_cmplovnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8221; /* *aarch64_pred_cmplovnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 331:
              switch (pattern956 (x3))
                {
                case 0:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8202; /* *aarch64_pred_cmplsvnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8212; /* *aarch64_pred_cmplsvnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8222; /* *aarch64_pred_cmplsvnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 332:
              switch (pattern956 (x3))
                {
                case 0:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8203; /* *aarch64_pred_cmpltvnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8213; /* *aarch64_pred_cmpltvnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8223; /* *aarch64_pred_cmpltvnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 333:
              switch (pattern956 (x3))
                {
                case 0:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8204; /* *aarch64_pred_cmpnevnx16qi_wide_ptest */

                case 1:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8214; /* *aarch64_pred_cmpnevnx8hi_wide_ptest */

                case 2:
                  if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8224; /* *aarch64_pred_cmpnevnx4si_wide_ptest */

                default:
                  return -1;
                }

            case 434:
              switch (pattern957 (x3))
                {
                case 0:
                  if (!
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 10099; /* *aarch64_pred_matchvnx16qi_ptest */

                case 1:
                  if (!
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 10101; /* *aarch64_pred_matchvnx8hi_ptest */

                default:
                  return -1;
                }

            case 435:
              switch (pattern957 (x3))
                {
                case 0:
                  if (!
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 10100; /* *aarch64_pred_nmatchvnx16qi_ptest */

                case 1:
                  if (!
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 10102; /* *aarch64_pred_nmatchvnx8hi_ptest */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 286:
      if (pattern837 (x2) != 0
          || !
#line 9712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 9092; /* *aarch64_brka_ptest */

    case 287:
      if (pattern837 (x2) != 0
          || !
#line 9712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 9093; /* *aarch64_brkb_ptest */

    case 289:
      if (pattern838 (x2) != 0
          || !
#line 9831 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 9101; /* *aarch64_brkpa_ptest */

    case 290:
      if (pattern838 (x2) != 0
          || !
#line 9831 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 9102; /* *aarch64_brkpb_ptest */

    case 291:
      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 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9113; /* *aarch64_sve_pfirstvnx16bi_ptest */

    case 292:
      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 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9114; /* *aarch64_sve_pnextvnx16bi_ptest */

        case E_VNx8BImode:
          if (!register_operand (operands[6], E_VNx8BImode)
              || !
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9115; /* *aarch64_sve_pnextvnx8bi_ptest */

        case E_VNx4BImode:
          if (!register_operand (operands[6], E_VNx4BImode)
              || !
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9116; /* *aarch64_sve_pnextvnx4bi_ptest */

        case E_VNx2BImode:
          if (!register_operand (operands[6], E_VNx2BImode)
              || !
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9117; /* *aarch64_sve_pnextvnx2bi_ptest */

        default:
          return -1;
        }

    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, 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_393 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 4760; /* *aarch64_rdffr_z_ptest */

        case AND:
          switch (pattern813 (x2))
            {
            case 0:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7373; /* *andvnx16bi3_ptest */

            case 1:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7376; /* *andvnx8bi3_ptest */

            case 2:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7379; /* *andvnx4bi3_ptest */

            case 3:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7382; /* *andvnx2bi3_ptest */

            case 4:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7401; /* *bicvnx16bi3_ptest */

            case 5:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7403; /* *bicvnx8bi3_ptest */

            case 6:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7405; /* *bicvnx4bi3_ptest */

            case 7:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7407; /* *bicvnx2bi3_ptest */

            case 8:
              if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7425; /* *norvnx16bi3_ptest */

            case 9:
              if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7427; /* *norvnx8bi3_ptest */

            case 10:
              if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7429; /* *norvnx4bi3_ptest */

            case 11:
              if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7431; /* *norvnx2bi3_ptest */

            default:
              return -1;
            }

        case IOR:
          switch (pattern813 (x2))
            {
            case 0:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7374; /* *iorvnx16bi3_ptest */

            case 1:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7377; /* *iorvnx8bi3_ptest */

            case 2:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7380; /* *iorvnx4bi3_ptest */

            case 3:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7383; /* *iorvnx2bi3_ptest */

            case 4:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7402; /* *ornvnx16bi3_ptest */

            case 5:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7404; /* *ornvnx8bi3_ptest */

            case 6:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7406; /* *ornvnx4bi3_ptest */

            case 7:
              if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7408; /* *ornvnx2bi3_ptest */

            case 8:
              if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7426; /* *nandvnx16bi3_ptest */

            case 9:
              if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7428; /* *nandvnx8bi3_ptest */

            case 10:
              if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7430; /* *nandvnx4bi3_ptest */

            case 11:
              if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7432; /* *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 (pattern810 (x6))
            {
            case 0:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7375; /* *xorvnx16bi3_ptest */

            case 1:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7378; /* *xorvnx8bi3_ptest */

            case 2:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7381; /* *xorvnx4bi3_ptest */

            case 3:
              if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 7384; /* *xorvnx2bi3_ptest */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      return recog_394 (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 8460 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8577; /* aarch64_ptestvnx16bi */

        case E_VNx8BImode:
          if (!register_operand (operands[3], E_VNx8BImode)
              || !
#line 8460 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8578; /* aarch64_ptestvnx8bi */

        case E_VNx4BImode:
          if (!register_operand (operands[3], E_VNx4BImode)
              || !
#line 8460 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8579; /* aarch64_ptestvnx4bi */

        case E_VNx2BImode:
          if (!register_operand (operands[3], E_VNx2BImode)
              || !
#line 8460 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8580; /* aarch64_ptestvnx2bi */

        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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != E_VNx16BImode)
    return -1;
  x3 = XVECEXP (x2, 0, 3);
  if (GET_CODE (x3) != CONST_INT)
    return -1;
  x4 = XEXP (x1, 0);
  operands[0] = x4;
  if (!register_operand (operands[0], E_VNx16BImode))
    return -1;
  x5 = XVECEXP (x2, 0, 0);
  operands[1] = x5;
  if (!register_operand (operands[1], E_VNx16BImode))
    return -1;
  x6 = XVECEXP (x2, 0, 1);
  operands[2] = x6;
  if (!register_operand (operands[2], E_VNx16BImode))
    return -1;
  x7 = XVECEXP (x2, 0, 2);
  operands[3] = x7;
  switch (XWINT (x3, 0))
    {
    case 233L:
      switch (pattern781 ())
        {
        case 0:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8945; /* *aarch64_sve_zip1vnx16bi_acle */

        case 1:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8951; /* *aarch64_sve_zip1vnx8bi_acle */

        case 2:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8957; /* *aarch64_sve_zip1vnx4bi_acle */

        case 3:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8963; /* *aarch64_sve_zip1vnx2bi_acle */

        default:
          return -1;
        }

    case 234L:
      switch (pattern781 ())
        {
        case 0:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8946; /* *aarch64_sve_zip2vnx16bi_acle */

        case 1:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8952; /* *aarch64_sve_zip2vnx8bi_acle */

        case 2:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8958; /* *aarch64_sve_zip2vnx4bi_acle */

        case 3:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8964; /* *aarch64_sve_zip2vnx2bi_acle */

        default:
          return -1;
        }

    case 237L:
      switch (pattern781 ())
        {
        case 0:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8947; /* *aarch64_sve_trn1vnx16bi_acle */

        case 1:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8953; /* *aarch64_sve_trn1vnx8bi_acle */

        case 2:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8959; /* *aarch64_sve_trn1vnx4bi_acle */

        case 3:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8965; /* *aarch64_sve_trn1vnx2bi_acle */

        default:
          return -1;
        }

    case 238L:
      switch (pattern781 ())
        {
        case 0:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8948; /* *aarch64_sve_trn2vnx16bi_acle */

        case 1:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8954; /* *aarch64_sve_trn2vnx8bi_acle */

        case 2:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8960; /* *aarch64_sve_trn2vnx4bi_acle */

        case 3:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8966; /* *aarch64_sve_trn2vnx2bi_acle */

        default:
          return -1;
        }

    case 235L:
      switch (pattern781 ())
        {
        case 0:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8949; /* *aarch64_sve_uzp1vnx16bi_acle */

        case 1:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8955; /* *aarch64_sve_uzp1vnx8bi_acle */

        case 2:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8961; /* *aarch64_sve_uzp1vnx4bi_acle */

        case 3:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8967; /* *aarch64_sve_uzp1vnx2bi_acle */

        default:
          return -1;
        }

    case 236L:
      switch (pattern781 ())
        {
        case 0:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8950; /* *aarch64_sve_uzp2vnx16bi_acle */

        case 1:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8956; /* *aarch64_sve_uzp2vnx8bi_acle */

        case 2:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8962; /* *aarch64_sve_uzp2vnx4bi_acle */

        case 3:
          if (!
#line 8916 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8968; /* *aarch64_sve_uzp2vnx2bi_acle */

        default:
          return -1;
        }

    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, x5, x6, x7, x8, x9;
  int res ATTRIBUTE_UNUSED;
  if (pattern335 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5131; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5132; /* mask_scatter_storevnx4hivnx4si */
                      break;

                    case E_VNx4HFmode:
                      if (register_operand (operands[4], E_VNx4HFmode)
                          && 
#line 2263 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5133; /* mask_scatter_storevnx4hfvnx4si */
                      break;

                    case E_VNx4BFmode:
                      if (register_operand (operands[4], E_VNx4BFmode)
                          && 
#line 2263 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5134; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 5135; /* mask_scatter_storevnx4sivnx4si */

                case E_VNx4SFmode:
                  if (!register_operand (operands[4], E_VNx4SFmode)
                      || !
#line 2263 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 5136; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5137; /* mask_scatter_storevnx2qivnx2di */
              if (aarch64_sve_gather_offset_h (operands[0], E_DImode)
                  && aarch64_gather_scale_operand_h (operands[3], E_DImode))
                {
                  switch (pattern930 ())
                    {
                    case 0:
                      if (
#line 2285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5138; /* mask_scatter_storevnx2hivnx2di */
                      break;

                    case 1:
                      if (
#line 2285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5139; /* mask_scatter_storevnx2hfvnx2di */
                      break;

                    case 2:
                      if (
#line 2285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5140; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5141; /* mask_scatter_storevnx2sivnx2di */
                      break;

                    case E_VNx2SFmode:
                      if (register_operand (operands[4], E_VNx2SFmode)
                          && 
#line 2285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return 5142; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 5143; /* mask_scatter_storevnx2divnx2di */

                case E_VNx2DFmode:
                  if (!register_operand (operands[4], E_VNx2DFmode)
                      || !
#line 2285 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 5144; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5177; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5178; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5179; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5180; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5181; /* aarch64_scatter_store_truncvnx2sivnx2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      if (pattern782 (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 (pattern922 (x2))
        {
        case 0:
          if (register_operand (operands[4], E_VNx2QImode)
              && aarch64_gather_scale_operand_b (operands[3], E_DImode)
              && 
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5145; /* *mask_scatter_storevnx2qivnx2di_sxtw_unpacked */
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern930 ())
                {
                case 0:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5147; /* *mask_scatter_storevnx2hivnx2di_sxtw_unpacked */
                  break;

                case 1:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5149; /* *mask_scatter_storevnx2hfvnx2di_sxtw_unpacked */
                  break;

                case 2:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5151; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5153; /* *mask_scatter_storevnx2sivnx2di_sxtw_unpacked */
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && 
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5155; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5157; /* *mask_scatter_storevnx2divnx2di_sxtw_unpacked */

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5159; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5161; /* *mask_scatter_storevnx2qivnx2di_sxtw */
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern930 ())
                {
                case 0:
                  if (
#line 2335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5162; /* *mask_scatter_storevnx2hivnx2di_sxtw */
                  break;

                case 1:
                  if (
#line 2335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5163; /* *mask_scatter_storevnx2hfvnx2di_sxtw */
                  break;

                case 2:
                  if (
#line 2335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5164; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5165; /* *mask_scatter_storevnx2sivnx2di_sxtw */
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && 
#line 2335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5166; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5167; /* *mask_scatter_storevnx2divnx2di_sxtw */

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !
#line 2335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5168; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5182; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5183; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5184; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5146; /* *mask_scatter_storevnx2qivnx2di_uxtw_unpacked */
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern930 ())
                {
                case 0:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5148; /* *mask_scatter_storevnx2hivnx2di_uxtw_unpacked */
                  break;

                case 1:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5150; /* *mask_scatter_storevnx2hfvnx2di_uxtw_unpacked */
                  break;

                case 2:
                  if (
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5152; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5154; /* *mask_scatter_storevnx2sivnx2di_uxtw_unpacked */
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && 
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5156; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5158; /* *mask_scatter_storevnx2divnx2di_uxtw_unpacked */

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5160; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5169; /* *mask_scatter_storevnx2qivnx2di_uxtw */
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern930 ())
                {
                case 0:
                  if (
#line 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5170; /* *mask_scatter_storevnx2hivnx2di_uxtw */
                  break;

                case 1:
                  if (
#line 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5171; /* *mask_scatter_storevnx2hfvnx2di_uxtw */
                  break;

                case 2:
                  if (
#line 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5172; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5173; /* *mask_scatter_storevnx2sivnx2di_uxtw */
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && 
#line 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5174; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5175; /* *mask_scatter_storevnx2divnx2di_uxtw */

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !
#line 2359 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5176; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5185; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5186; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 5187; /* *aarch64_scatter_store_truncvnx2sivnx2di_uxtw */

        default:
          return -1;
        }

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XINT (x2, 1))
    {
    case 7:
      if (pattern62 (x1, E_QImode, E_SImode) != 0
          || !
#line 4339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 499; /* aarch64_crc32b */

    case 12:
      if (pattern62 (x1, E_HImode, E_SImode) != 0
          || !
#line 4339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 500; /* aarch64_crc32h */

    case 13:
      if (pattern63 (x1, E_SImode) != 0
          || !
#line 4339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 501; /* aarch64_crc32w */

    case 14:
      if (pattern62 (x1, E_DImode, E_SImode) != 0
          || !
#line 4339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 502; /* aarch64_crc32x */

    case 8:
      if (pattern62 (x1, E_QImode, E_SImode) != 0
          || !
#line 4339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 503; /* aarch64_crc32cb */

    case 9:
      if (pattern62 (x1, E_HImode, E_SImode) != 0
          || !
#line 4339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 504; /* aarch64_crc32ch */

    case 10:
      if (pattern63 (x1, E_SImode) != 0
          || !
#line 4339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 505; /* aarch64_crc32cw */

    case 11:
      if (pattern62 (x1, E_DImode, E_SImode) != 0
          || !
#line 4339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CRC32))
        return -1;
      return 506; /* aarch64_crc32cx */

    case 77:
      if (pattern62 (x1, E_QImode, E_DImode) != 0
          || !
#line 5580 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 790; /* *aarch64_sisd_ushl */

    case 98:
      if (pattern62 (x1, E_QImode, E_SImode) != 0
          || !
#line 5590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 791; /* *aarch64_ushl_2s */

    case 76:
      if (pattern62 (x1, E_QImode, E_DImode) != 0
          || !
#line 5600 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 792; /* *aarch64_sisd_sshl */

    case 78:
      if (pattern62 (x1, E_QImode, E_SImode) != 0
          || !
#line 5610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 793; /* *aarch64_sshl_2s */

    case 15:
      return recog_151 (x1, insn, pnum_clobbers);

    case 16:
      return recog_150 (x1, insn, pnum_clobbers);

    case 73:
      return recog_149 (x1, insn, pnum_clobbers);

    case 97:
      return recog_148 (x1, insn, pnum_clobbers);

    case 169:
      return recog_147 (x1, insn, pnum_clobbers);

    case 172:
      return recog_146 (x1, insn, pnum_clobbers);

    case 263:
      return recog_145 (x1, insn, pnum_clobbers);

    case 264:
      return recog_144 (x1, insn, pnum_clobbers);

    case 37:
      return recog_122 (x1, insn, pnum_clobbers);

    case 88:
      switch (pattern68 (x1))
        {
        case 0:
          if (!
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode))
            return -1;
          return 1132; /* tlsle12_si */

        case 1:
          if (!
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode))
            return -1;
          return 1133; /* tlsle12_di */

        default:
          return -1;
        }

    case 89:
      switch (pattern68 (x1))
        {
        case 0:
          if (!
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode))
            return -1;
          return 1134; /* tlsle24_si */

        case 1:
          if (!
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode))
            return -1;
          return 1135; /* tlsle24_di */

        default:
          return -1;
        }

    case 64:
      if (pattern69 (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 1144; /* stack_tie */

    case 62:
      if (pattern71 (x1, 30, 31) != 0)
        return -1;
      return 1146; /* paciasp */

    case 2:
      if (pattern71 (x1, 30, 31) != 0)
        return -1;
      return 1147; /* autiasp */

    case 63:
      if (pattern71 (x1, 30, 31) != 0)
        return -1;
      return 1148; /* pacibsp */

    case 3:
      if (pattern71 (x1, 30, 31) != 0)
        return -1;
      return 1149; /* autibsp */

    case 60:
      if (pattern71 (x1, 17, 16) != 0)
        return -1;
      return 1150; /* pacia1716 */

    case 0:
      if (pattern71 (x1, 17, 16) != 0)
        return -1;
      return 1151; /* autia1716 */

    case 61:
      if (pattern71 (x1, 17, 16) != 0)
        return -1;
      return 1152; /* pacib1716 */

    case 1:
      if (pattern71 (x1, 17, 16) != 0)
        return -1;
      return 1153; /* autib1716 */

    case 102:
      return recog_143 (x1, insn, pnum_clobbers);

    case 146:
      if (pattern72 (x1) != 0)
        return -1;
      return 1173; /* speculation_tracker */

    case 147:
      if (pattern72 (x1) != 0)
        return -1;
      return 1174; /* speculation_tracker_rev */

    case 384:
      return recog_172 (x1, insn, pnum_clobbers);

    case 385:
      return recog_171 (x1, insn, pnum_clobbers);

    case 106:
      return recog_117 (x1, insn, pnum_clobbers);

    case 70:
      switch (pattern76 (x1, E_V8QImode, E_V4HImode, E_V2SImode))
        {
        case 0:
          if (!
#line 880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1709; /* aarch64_sabdlv8qi */

        case 1:
          if (!
#line 880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1711; /* aarch64_sabdlv4hi */

        case 2:
          if (!
#line 880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1713; /* aarch64_sabdlv2si */

        default:
          return -1;
        }

    case 94:
      switch (pattern76 (x1, E_V8QImode, E_V4HImode, E_V2SImode))
        {
        case 0:
          if (!
#line 880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1710; /* aarch64_uabdlv8qi */

        case 1:
          if (!
#line 880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1712; /* aarch64_uabdlv4hi */

        case 2:
          if (!
#line 880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1714; /* aarch64_uabdlv2si */

        default:
          return -1;
        }

    case 71:
      switch (pattern76 (x1, E_V16QImode, E_V8HImode, E_V4SImode))
        {
        case 0:
          if (!
#line 890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1715; /* aarch64_sabdl2v16qi */

        case 1:
          if (!
#line 890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1717; /* aarch64_sabdl2v8hi */

        case 2:
          if (!
#line 890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1719; /* aarch64_sabdl2v4si */

        default:
          return -1;
        }

    case 95:
      switch (pattern76 (x1, E_V16QImode, E_V8HImode, E_V4SImode))
        {
        case 0:
          if (!
#line 890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1716; /* aarch64_uabdl2v16qi */

        case 1:
          if (!
#line 890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1718; /* aarch64_uabdl2v8hi */

        case 2:
          if (!
#line 890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1720; /* aarch64_uabdl2v4si */

        default:
          return -1;
        }

    case 72:
      return recog_164 (x1, insn, pnum_clobbers);

    case 96:
      return recog_163 (x1, insn, pnum_clobbers);

    case 167:
      return recog_155 (x1, insn, pnum_clobbers);

    case 166:
      return recog_154 (x1, insn, pnum_clobbers);

    case 260:
      return recog_85 (x1, insn, pnum_clobbers);

    case 181:
      return recog_121 (x1, insn, pnum_clobbers);

    case 182:
      return recog_119 (x1, insn, pnum_clobbers);

    case 179:
      return recog_120 (x1, insn, pnum_clobbers);

    case 180:
      return recog_118 (x1, insn, pnum_clobbers);

    case 171:
      return recog_142 (x1, insn, pnum_clobbers);

    case 174:
      return recog_140 (x1, insn, pnum_clobbers);

    case 170:
      return recog_141 (x1, insn, pnum_clobbers);

    case 173:
      return recog_139 (x1, insn, pnum_clobbers);

    case 175:
      return recog_138 (x1, insn, pnum_clobbers);

    case 183:
      return recog_162 (x1, insn, pnum_clobbers);

    case 184:
      return recog_161 (x1, insn, pnum_clobbers);

    case 185:
      return recog_160 (x1, insn, pnum_clobbers);

    case 186:
      return recog_159 (x1, insn, pnum_clobbers);

    case 187:
      return recog_158 (x1, insn, pnum_clobbers);

    case 188:
      return recog_157 (x1, insn, pnum_clobbers);

    case 195:
      return recog_156 (x1, insn, pnum_clobbers);

    case 257:
      return recog_108 (x1, insn, pnum_clobbers);

    case 196:
      return recog_68 (x1, insn, pnum_clobbers);

    case 198:
      return recog_81 (x1, insn, pnum_clobbers);

    case 197:
      return recog_116 (x1, insn, pnum_clobbers);

    case 193:
      return recog_83 (x1, insn, pnum_clobbers);

    case 194:
      return recog_82 (x1, insn, pnum_clobbers);

    case 215:
      return recog_137 (x1, insn, pnum_clobbers);

    case 216:
      return recog_135 (x1, insn, pnum_clobbers);

    case 217:
      return recog_136 (x1, insn, pnum_clobbers);

    case 218:
      return recog_134 (x1, insn, pnum_clobbers);

    case 207:
      return recog_98 (x1, insn, pnum_clobbers);

    case 208:
      return recog_97 (x1, insn, pnum_clobbers);

    case 219:
      return recog_115 (x1, insn, pnum_clobbers);

    case 220:
      return recog_114 (x1, insn, pnum_clobbers);

    case 225:
      return recog_103 (x1, insn, pnum_clobbers);

    case 226:
      return recog_102 (x1, insn, pnum_clobbers);

    case 204:
      return recog_132 (x1, insn, pnum_clobbers);

    case 205:
      return recog_133 (x1, insn, pnum_clobbers);

    case 206:
      return recog_96 (x1, insn, pnum_clobbers);

    case 209:
      switch (pattern102 (x1))
        {
        case 0:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3343; /* aarch64_sqshrun_nhi */

        case 1:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3349; /* aarch64_sqshrun_nsi */

        case 2:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3355; /* aarch64_sqshrun_ndi */

        default:
          return -1;
        }

    case 210:
      switch (pattern102 (x1))
        {
        case 0:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3344; /* aarch64_sqrshrun_nhi */

        case 1:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3350; /* aarch64_sqrshrun_nsi */

        case 2:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3356; /* aarch64_sqrshrun_ndi */

        default:
          return -1;
        }

    case 211:
      switch (pattern102 (x1))
        {
        case 0:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3345; /* aarch64_sqshrn_nhi */

        case 1:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3351; /* aarch64_sqshrn_nsi */

        case 2:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3357; /* aarch64_sqshrn_ndi */

        default:
          return -1;
        }

    case 212:
      switch (pattern102 (x1))
        {
        case 0:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3346; /* aarch64_uqshrn_nhi */

        case 1:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3352; /* aarch64_uqshrn_nsi */

        case 2:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3358; /* aarch64_uqshrn_ndi */

        default:
          return -1;
        }

    case 213:
      switch (pattern102 (x1))
        {
        case 0:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3347; /* aarch64_sqrshrn_nhi */

        case 1:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3353; /* aarch64_sqrshrn_nsi */

        case 2:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3359; /* aarch64_sqrshrn_ndi */

        default:
          return -1;
        }

    case 214:
      switch (pattern102 (x1))
        {
        case 0:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3348; /* aarch64_uqrshrn_nhi */

        case 1:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3354; /* aarch64_uqrshrn_nsi */

        case 2:
          if (!
#line 6393 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 3360; /* aarch64_uqrshrn_ndi */

        default:
          return -1;
        }

    case 227:
      return recog_153 (x1, insn, pnum_clobbers);

    case 83:
      return recog_80 (x1, insn, pnum_clobbers);

    case 84:
      return recog_79 (x1, insn, pnum_clobbers);

    case 85:
      return recog_78 (x1, insn, pnum_clobbers);

    case 259:
      return recog_70 (x1, insn, pnum_clobbers);

    case 230:
      return recog_84 (x1, insn, pnum_clobbers);

    case 232:
      if (pattern103 (x1, E_V16QImode, E_V2x16QImode) != 0
          || !
#line 7829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 4108; /* aarch64_combinev16qi */

    case 233:
      return recog_77 (x1, insn, pnum_clobbers);

    case 234:
      return recog_76 (x1, insn, pnum_clobbers);

    case 237:
      return recog_75 (x1, insn, pnum_clobbers);

    case 238:
      return recog_74 (x1, insn, pnum_clobbers);

    case 235:
      return recog_73 (x1, insn, pnum_clobbers);

    case 236:
      return recog_72 (x1, insn, pnum_clobbers);

    case 24:
      return recog_113 (x1, insn, pnum_clobbers);

    case 252:
      if (pattern63 (x1, E_V4SImode) != 0
          || !
#line 8217 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2))
        return -1;
      return 4333; /* aarch64_crypto_sha1su1v4si */

    case 255:
      if (pattern63 (x1, E_V4SImode) != 0
          || !
#line 8262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA2))
        return -1;
      return 4340; /* aarch64_crypto_sha256su0v4si */

    case 278:
      if (pattern63 (x1, E_V2DImode) != 0
          || !
#line 8296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
        return -1;
      return 4344; /* aarch64_crypto_sha512su0qv2di */

    case 274:
      switch (pattern105 (x1))
        {
        case 0:
          if (!
#line 8406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SM4))
            return -1;
          return 4363; /* aarch64_sm4eqv4si */

        case 1:
          if (!
#line 2653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_SM4))
            return -1;
          return 10110; /* aarch64_sve2_sm4e */

        default:
          return -1;
        }

    case 275:
      switch (pattern105 (x1))
        {
        case 0:
          if (!
#line 8416 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SM4))
            return -1;
          return 4364; /* aarch64_sm4ekeyqv4si */

        case 1:
          if (!
#line 2664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_SM4))
            return -1;
          return 10111; /* aarch64_sve2_sm4ekey */

        default:
          return -1;
        }

    case 258:
      if (pattern103 (x1, E_V2DImode, E_TImode) != 0
          || !
#line 9012 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_AES))
        return -1;
      return 4390; /* aarch64_crypto_pmullv2di */

    case 528:
      if (pattern62 (x1, E_V4SFmode, E_V8BFmode) != 0
          || !
#line 9161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
        return -1;
      return 4418; /* 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 4587; /* *dmb */

    case 119:
      return recog_67 (x1, insn, pnum_clobbers);

    case 144:
      return recog_100 (x1, insn, pnum_clobbers);

    case 150:
      return recog_152 (x1, insn, pnum_clobbers);

    case 109:
      return recog_71 (x1, insn, pnum_clobbers);

    case 138:
      return recog_69 (x1, insn, pnum_clobbers);

    case 111:
      return recog_107 (x1, insn, pnum_clobbers);

    case 113:
      return recog_106 (x1, insn, pnum_clobbers);

    case 163:
      return recog_99 (x1, insn, pnum_clobbers);

    case 140:
      return recog_105 (x1, insn, pnum_clobbers);

    case 377:
      return recog_131 (x1, insn, pnum_clobbers);

    case 378:
      return recog_130 (x1, insn, pnum_clobbers);

    case 284:
      return recog_101 (x1, insn, pnum_clobbers);

    case 379:
      switch (pattern107 (x1))
        {
        case 0:
          if (!
#line 4682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6853; /* aarch64_sve_lslvnx16qi */

        case 1:
          if (!
#line 4682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6856; /* aarch64_sve_lslvnx8hi */

        case 2:
          if (!
#line 4682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6859; /* aarch64_sve_lslvnx4si */

        default:
          return -1;
        }

    case 380:
      switch (pattern107 (x1))
        {
        case 0:
          if (!
#line 4682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6854; /* aarch64_sve_asrvnx16qi */

        case 1:
          if (!
#line 4682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6857; /* aarch64_sve_asrvnx8hi */

        case 2:
          if (!
#line 4682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6860; /* aarch64_sve_asrvnx4si */

        default:
          return -1;
        }

    case 381:
      switch (pattern107 (x1))
        {
        case 0:
          if (!
#line 4682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6855; /* aarch64_sve_lsrvnx16qi */

        case 1:
          if (!
#line 4682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6858; /* aarch64_sve_lsrvnx8hi */

        case 2:
          if (!
#line 4682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6861; /* aarch64_sve_lsrvnx4si */

        default:
          return -1;
        }

    case 313:
      switch (pattern109 (x1))
        {
        case 0:
          if (!
#line 4868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6970; /* aarch64_sve_ftsmulvnx8hf */

        case 1:
          if (!
#line 4868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6972; /* aarch64_sve_ftsmulvnx4sf */

        case 2:
          if (!
#line 4868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6974; /* aarch64_sve_ftsmulvnx2df */

        default:
          return -1;
        }

    case 314:
      switch (pattern109 (x1))
        {
        case 0:
          if (!
#line 4868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6971; /* aarch64_sve_ftsselvnx8hf */

        case 1:
          if (!
#line 4868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6973; /* aarch64_sve_ftsselvnx4sf */

        case 2:
          if (!
#line 4868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6975; /* aarch64_sve_ftsselvnx2df */

        default:
          return -1;
        }

    case 299:
      switch (pattern110 (x1))
        {
        case 0:
          if (!
#line 6235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7324; /* *andvnx8hf3 */

        case 1:
          if (!
#line 6235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7327; /* *andvnx4sf3 */

        case 2:
          if (!
#line 6235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7330; /* *andvnx2df3 */

        default:
          return -1;
        }

    case 300:
      switch (pattern110 (x1))
        {
        case 0:
          if (!
#line 6235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7325; /* *iorvnx8hf3 */

        case 1:
          if (!
#line 6235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7328; /* *iorvnx4sf3 */

        case 2:
          if (!
#line 6235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7331; /* *iorvnx2df3 */

        default:
          return -1;
        }

    case 301:
      switch (pattern110 (x1))
        {
        case 0:
          if (!
#line 6235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7326; /* *xorvnx8hf3 */

        case 1:
          if (!
#line 6235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7329; /* *xorvnx4sf3 */

        case 2:
          if (!
#line 6235 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7332; /* *xorvnx2df3 */

        default:
          return -1;
        }

    case 132:
      return recog_95 (x1, insn, pnum_clobbers);

    case 133:
      return recog_94 (x1, insn, pnum_clobbers);

    case 134:
      return recog_93 (x1, insn, pnum_clobbers);

    case 135:
      return recog_92 (x1, insn, pnum_clobbers);

    case 128:
      return recog_91 (x1, insn, pnum_clobbers);

    case 129:
      return recog_90 (x1, insn, pnum_clobbers);

    case 130:
      return recog_89 (x1, insn, pnum_clobbers);

    case 131:
      return recog_88 (x1, insn, pnum_clobbers);

    case 136:
      return recog_87 (x1, insn, pnum_clobbers);

    case 137:
      return recog_86 (x1, insn, pnum_clobbers);

    case 294:
      return recog_112 (x1, insn, pnum_clobbers);

    case 295:
      return recog_109 (x1, insn, pnum_clobbers);

    case 296:
      return recog_182 (x1, insn, pnum_clobbers);

    case 297:
      return recog_181 (x1, insn, pnum_clobbers);

    case 298:
      return recog_180 (x1, insn, pnum_clobbers);

    case 158:
      return recog_129 (x1, insn, pnum_clobbers);

    case 322:
      return recog_128 (x1, insn, pnum_clobbers);

    case 323:
      return recog_127 (x1, insn, pnum_clobbers);

    case 318:
      return recog_126 (x1, insn, pnum_clobbers);

    case 319:
      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 66:
      return recog_111 (x1, insn, pnum_clobbers);

    case 127:
      return recog_110 (x1, insn, pnum_clobbers);

    case 451:
      switch (pattern114 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9607; /* aarch64_sve_saddwbvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9615; /* aarch64_sve_saddwbvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9623; /* aarch64_sve_saddwbvnx2di */

        default:
          return -1;
        }

    case 452:
      switch (pattern114 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9608; /* aarch64_sve_saddwtvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9616; /* aarch64_sve_saddwtvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9624; /* aarch64_sve_saddwtvnx2di */

        default:
          return -1;
        }

    case 492:
      switch (pattern114 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9609; /* aarch64_sve_ssubwbvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9617; /* aarch64_sve_ssubwbvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9625; /* aarch64_sve_ssubwbvnx2di */

        default:
          return -1;
        }

    case 493:
      switch (pattern114 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9610; /* aarch64_sve_ssubwtvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9618; /* aarch64_sve_ssubwtvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9626; /* aarch64_sve_ssubwtvnx2di */

        default:
          return -1;
        }

    case 501:
      switch (pattern114 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9611; /* aarch64_sve_uaddwbvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9619; /* aarch64_sve_uaddwbvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9627; /* aarch64_sve_uaddwbvnx2di */

        default:
          return -1;
        }

    case 502:
      switch (pattern114 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9612; /* aarch64_sve_uaddwtvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9620; /* aarch64_sve_uaddwtvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9628; /* aarch64_sve_uaddwtvnx2di */

        default:
          return -1;
        }

    case 519:
      switch (pattern114 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9613; /* aarch64_sve_usubwbvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9621; /* aarch64_sve_usubwbvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9629; /* aarch64_sve_usubwbvnx2di */

        default:
          return -1;
        }

    case 520:
      switch (pattern114 (x1))
        {
        case 0:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9614; /* aarch64_sve_usubwtvnx8hi */

        case 1:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9622; /* aarch64_sve_usubwtvnx4si */

        case 2:
          if (!
#line 1251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9630; /* aarch64_sve_usubwtvnx2di */

        default:
          return -1;
        }

    case 446:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9631; /* aarch64_sve_sabdlbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9652; /* aarch64_sve_sabdlbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9673; /* aarch64_sve_sabdlbvnx2di */

        default:
          return -1;
        }

    case 447:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9632; /* aarch64_sve_sabdltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9653; /* aarch64_sve_sabdltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9674; /* aarch64_sve_sabdltvnx2di */

        default:
          return -1;
        }

    case 448:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9633; /* aarch64_sve_saddlbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9654; /* aarch64_sve_saddlbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9675; /* aarch64_sve_saddlbvnx2di */

        default:
          return -1;
        }

    case 449:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9634; /* aarch64_sve_saddlbtvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9655; /* aarch64_sve_saddlbtvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9676; /* aarch64_sve_saddlbtvnx2di */

        default:
          return -1;
        }

    case 450:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9635; /* aarch64_sve_saddltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9656; /* aarch64_sve_saddltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9677; /* aarch64_sve_saddltvnx2di */

        default:
          return -1;
        }

    case 462:
      return recog_170 (x1, insn, pnum_clobbers);

    case 463:
      return recog_169 (x1, insn, pnum_clobbers);

    case 466:
      return recog_168 (x1, insn, pnum_clobbers);

    case 468:
      return recog_167 (x1, insn, pnum_clobbers);

    case 488:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9640; /* aarch64_sve_ssublbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9661; /* aarch64_sve_ssublbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9682; /* aarch64_sve_ssublbvnx2di */

        default:
          return -1;
        }

    case 489:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9641; /* aarch64_sve_ssublbtvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9662; /* aarch64_sve_ssublbtvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9683; /* aarch64_sve_ssublbtvnx2di */

        default:
          return -1;
        }

    case 490:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9642; /* aarch64_sve_ssubltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9663; /* aarch64_sve_ssubltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9684; /* aarch64_sve_ssubltvnx2di */

        default:
          return -1;
        }

    case 491:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9643; /* aarch64_sve_ssubltbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9664; /* aarch64_sve_ssubltbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9685; /* aarch64_sve_ssubltbvnx2di */

        default:
          return -1;
        }

    case 497:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9644; /* aarch64_sve_uabdlbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9665; /* aarch64_sve_uabdlbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9686; /* aarch64_sve_uabdlbvnx2di */

        default:
          return -1;
        }

    case 498:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9645; /* aarch64_sve_uabdltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9666; /* aarch64_sve_uabdltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9687; /* aarch64_sve_uabdltvnx2di */

        default:
          return -1;
        }

    case 499:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9646; /* aarch64_sve_uaddlbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9667; /* aarch64_sve_uaddlbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9688; /* aarch64_sve_uaddlbvnx2di */

        default:
          return -1;
        }

    case 500:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9647; /* aarch64_sve_uaddltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9668; /* aarch64_sve_uaddltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9689; /* aarch64_sve_uaddltvnx2di */

        default:
          return -1;
        }

    case 507:
      return recog_166 (x1, insn, pnum_clobbers);

    case 508:
      return recog_165 (x1, insn, pnum_clobbers);

    case 517:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9650; /* aarch64_sve_usublbvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9671; /* aarch64_sve_usublbvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9692; /* aarch64_sve_usublbvnx2di */

        default:
          return -1;
        }

    case 518:
      switch (pattern116 (x1))
        {
        case 0:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9651; /* aarch64_sve_usubltvnx8hi */

        case 1:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9672; /* aarch64_sve_usubltvnx4si */

        case 2:
          if (!
#line 1288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9693; /* aarch64_sve_usubltvnx2di */

        default:
          return -1;
        }

    case 486:
      switch (pattern120 (x1))
        {
        case 0:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9706; /* aarch64_sve_sshllbvnx8hi */

        case 1:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9710; /* aarch64_sve_sshllbvnx4si */

        case 2:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9714; /* aarch64_sve_sshllbvnx2di */

        default:
          return -1;
        }

    case 487:
      switch (pattern120 (x1))
        {
        case 0:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9707; /* aarch64_sve_sshlltvnx8hi */

        case 1:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9711; /* aarch64_sve_sshlltvnx4si */

        case 2:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9715; /* aarch64_sve_sshlltvnx2di */

        default:
          return -1;
        }

    case 515:
      switch (pattern120 (x1))
        {
        case 0:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9708; /* aarch64_sve_ushllbvnx8hi */

        case 1:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9712; /* aarch64_sve_ushllbvnx4si */

        case 2:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9716; /* aarch64_sve_ushllbvnx2di */

        default:
          return -1;
        }

    case 516:
      switch (pattern120 (x1))
        {
        case 0:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9709; /* aarch64_sve_ushlltvnx8hi */

        case 1:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9713; /* aarch64_sve_ushlltvnx4si */

        case 2:
          if (!
#line 1322 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9717; /* aarch64_sve_ushlltvnx2di */

        default:
          return -1;
        }

    case 482:
      switch (pattern121 (x1))
        {
        case 0:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9813; /* aarch64_sve_sqxtntvnx8hi */

        case 1:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9816; /* aarch64_sve_sqxtntvnx4si */

        case 2:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9819; /* aarch64_sve_sqxtntvnx2di */

        default:
          return -1;
        }

    case 484:
      switch (pattern121 (x1))
        {
        case 0:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9814; /* aarch64_sve_sqxtuntvnx8hi */

        case 1:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9817; /* aarch64_sve_sqxtuntvnx4si */

        case 2:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9820; /* aarch64_sve_sqxtuntvnx2di */

        default:
          return -1;
        }

    case 514:
      switch (pattern121 (x1))
        {
        case 0:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9815; /* aarch64_sve_uqxtntvnx8hi */

        case 1:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9818; /* aarch64_sve_uqxtntvnx4si */

        case 2:
          if (!
#line 1562 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9821; /* aarch64_sve_uqxtntvnx2di */

        default:
          return -1;
        }

    case 397:
      switch (pattern122 (x1))
        {
        case 0:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9822; /* aarch64_sve_addhnbvnx8hi */

        case 1:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9826; /* aarch64_sve_addhnbvnx4si */

        case 2:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9830; /* aarch64_sve_addhnbvnx2di */

        default:
          return -1;
        }

    case 440:
      switch (pattern122 (x1))
        {
        case 0:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9823; /* aarch64_sve_raddhnbvnx8hi */

        case 1:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9827; /* aarch64_sve_raddhnbvnx4si */

        case 2:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9831; /* aarch64_sve_raddhnbvnx2di */

        default:
          return -1;
        }

    case 444:
      switch (pattern122 (x1))
        {
        case 0:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9824; /* aarch64_sve_rsubhnbvnx8hi */

        case 1:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9828; /* aarch64_sve_rsubhnbvnx4si */

        case 2:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9832; /* aarch64_sve_rsubhnbvnx2di */

        default:
          return -1;
        }

    case 494:
      switch (pattern122 (x1))
        {
        case 0:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9825; /* aarch64_sve_subhnbvnx8hi */

        case 1:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9829; /* aarch64_sve_subhnbvnx4si */

        case 2:
          if (!
#line 1586 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9833; /* aarch64_sve_subhnbvnx2di */

        default:
          return -1;
        }

    case 442:
      switch (pattern124 (x1))
        {
        case 0:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9849; /* aarch64_sve_rshrnbvnx8hi */

        case 1:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9857; /* aarch64_sve_rshrnbvnx4si */

        case 2:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9865; /* aarch64_sve_rshrnbvnx2di */

        default:
          return -1;
        }

    case 455:
      switch (pattern124 (x1))
        {
        case 0:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9850; /* aarch64_sve_shrnbvnx8hi */

        case 1:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9858; /* aarch64_sve_shrnbvnx4si */

        case 2:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9866; /* aarch64_sve_shrnbvnx2di */

        default:
          return -1;
        }

    case 473:
      switch (pattern124 (x1))
        {
        case 0:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9851; /* aarch64_sve_sqrshrnbvnx8hi */

        case 1:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9859; /* aarch64_sve_sqrshrnbvnx4si */

        case 2:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9867; /* aarch64_sve_sqrshrnbvnx2di */

        default:
          return -1;
        }

    case 475:
      switch (pattern124 (x1))
        {
        case 0:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9852; /* aarch64_sve_sqrshrunbvnx8hi */

        case 1:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9860; /* aarch64_sve_sqrshrunbvnx4si */

        case 2:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9868; /* aarch64_sve_sqrshrunbvnx2di */

        default:
          return -1;
        }

    case 477:
      switch (pattern124 (x1))
        {
        case 0:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9853; /* aarch64_sve_sqshrnbvnx8hi */

        case 1:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9861; /* aarch64_sve_sqshrnbvnx4si */

        case 2:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9869; /* aarch64_sve_sqshrnbvnx2di */

        default:
          return -1;
        }

    case 479:
      switch (pattern124 (x1))
        {
        case 0:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9854; /* aarch64_sve_sqshrunbvnx8hi */

        case 1:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9862; /* aarch64_sve_sqshrunbvnx4si */

        case 2:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9870; /* aarch64_sve_sqshrunbvnx2di */

        default:
          return -1;
        }

    case 509:
      switch (pattern124 (x1))
        {
        case 0:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9855; /* aarch64_sve_uqrshrnbvnx8hi */

        case 1:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9863; /* aarch64_sve_uqrshrnbvnx4si */

        case 2:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9871; /* aarch64_sve_uqrshrnbvnx2di */

        default:
          return -1;
        }

    case 511:
      switch (pattern124 (x1))
        {
        case 0:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9856; /* aarch64_sve_uqshrnbvnx8hi */

        case 1:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9864; /* aarch64_sve_uqshrnbvnx4si */

        case 2:
          if (!
#line 1647 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9872; /* aarch64_sve_uqshrnbvnx2di */

        default:
          return -1;
        }

    case 403:
      return recog_179 (x1, insn, pnum_clobbers);

    case 402:
      return recog_178 (x1, insn, pnum_clobbers);

    case 465:
      return recog_177 (x1, insn, pnum_clobbers);

    case 464:
      return recog_176 (x1, insn, pnum_clobbers);

    case 436:
      switch (pattern126 (x1))
        {
        case 0:
          if (!
#line 2314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10050; /* aarch64_sve_pmullbvnx8hi */

        case 1:
          if (!
#line 2314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10052; /* aarch64_sve_pmullbvnx2di */

        default:
          return -1;
        }

    case 438:
      switch (pattern126 (x1))
        {
        case 0:
          if (!
#line 2314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10051; /* aarch64_sve_pmulltvnx8hi */

        case 1:
          if (!
#line 2314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10053; /* aarch64_sve_pmulltvnx2di */

        default:
          return -1;
        }

    case 437:
      switch (pattern127 (x1))
        {
        case 0:
          if (!
#line 2327 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10054; /* aarch64_sve_pmullb_pairvnx16qi */

        case 1:
          if (!
#line 2327 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10056; /* aarch64_sve_pmullb_pairvnx4si */

        case 2:
          if (!(
#line 2327 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 577 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2_AES)))
            return -1;
          return 10058; /* aarch64_sve_pmullb_pairvnx2di */

        default:
          return -1;
        }

    case 439:
      switch (pattern127 (x1))
        {
        case 0:
          if (!
#line 2327 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10055; /* aarch64_sve_pmullt_pairvnx16qi */

        case 1:
          if (!
#line 2327 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10057; /* aarch64_sve_pmullt_pairvnx4si */

        case 2:
          if (!(
#line 2327 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 577 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2_AES)))
            return -1;
          return 10059; /* aarch64_sve_pmullt_pairvnx2di */

        default:
          return -1;
        }

    case 496:
      return recog_104 (x1, insn, pnum_clobbers);

    case 399:
      return recog_175 (x1, insn, pnum_clobbers);

    case 400:
      return recog_173 (x1, insn, pnum_clobbers);

    case 401:
      return recog_174 (x1, insn, pnum_clobbers);

    case 433:
      if (pattern63 (x1, E_VNx16QImode) != 0
          || !
#line 2455 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10090; /* aarch64_sve2_histsegvnx16qi */

    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, x6, x7;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XINT (x2, 1))
    {
    case 67:
      return recog_206 (x1, insn, pnum_clobbers);

    case 75:
      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 5619 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD))
        return -1;
      return 794; /* *aarch64_sisd_neg_qi */

    case 65:
      return recog_185 (x1, insn, pnum_clobbers);

    case 32:
      return recog_223 (x1, insn, pnum_clobbers);

    case 30:
      return recog_222 (x1, insn, pnum_clobbers);

    case 28:
      return recog_221 (x1, insn, pnum_clobbers);

    case 29:
      return recog_220 (x1, insn, pnum_clobbers);

    case 27:
      return recog_219 (x1, insn, pnum_clobbers);

    case 31:
      return recog_217 (x1, insn, pnum_clobbers);

    case 26:
      return recog_218 (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 (pattern591 (x2, E_SImode) != 0
              || !
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
            return -1;
          return 1117; /* ldr_got_small_28k_si */

        case E_DImode:
          if (pattern591 (x2, E_DImode) != 0
              || !
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
            return -1;
          return 1118; /* ldr_got_small_28k_di */

        default:
          return -1;
        }

    case 36:
      return recog_216 (x1, insn, pnum_clobbers);

    case 86:
      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 1123; /* 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 (pattern129 (x2))
        {
        case 0:
          if (!
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
            return -1;
          return 1126; /* tlsie_small_si */

        case 1:
          if (!
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
            return -1;
          return 1127; /* tlsie_small_di */

        default:
          return -1;
        }

    case 90:
      switch (pattern130 (x1))
        {
        case 0:
          if (!
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode))
            return -1;
          return 1136; /* tlsle32_si */

        case 1:
          if (!
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode))
            return -1;
          return 1137; /* tlsle32_di */

        default:
          return -1;
        }

    case 91:
      switch (pattern130 (x1))
        {
        case 0:
          if (!
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode))
            return -1;
          return 1138; /* tlsle48_si */

        case 1:
          if (!
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode))
            return -1;
          return 1139; /* 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 7279 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_JSCVT))
        return -1;
      *pnum_clobbers = 1;
      return 1145; /* aarch64_fjcvtzs */

    case 108:
      if (pattern131 (x1, E_DImode, 30) != 0)
        return -1;
      return 1154; /* xpaclri */

    case 100:
      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 (pattern129 (x2))
        {
        case 0:
          if (!(
#line 7411 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_stack_protector_guard != SSP_GLOBAL) && 
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode)))
            return -1;
          return 1159; /* reg_stack_protect_address_si */

        case 1:
          if (!(
#line 7411 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_stack_protector_guard != SSP_GLOBAL) && 
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode)))
            return -1;
          return 1160; /* reg_stack_protect_address_di */

        default:
          return -1;
        }

    case 18:
      switch (pattern132 (x1))
        {
        case 0:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD)))
            return -1;
          return 1190; /* aarch64_frint32zv2sf */

        case 1:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD)))
            return -1;
          return 1194; /* aarch64_frint32zv4sf */

        case 2:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD)))
            return -1;
          return 1198; /* aarch64_frint32zv2df */

        case 3:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD)))
            return -1;
          return 1202; /* aarch64_frint32zdf */

        case 4:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD)))
            return -1;
          return 1206; /* aarch64_frint32zsf */

        default:
          return -1;
        }

    case 19:
      switch (pattern132 (x1))
        {
        case 0:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD)))
            return -1;
          return 1191; /* aarch64_frint32xv2sf */

        case 1:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD)))
            return -1;
          return 1195; /* aarch64_frint32xv4sf */

        case 2:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD)))
            return -1;
          return 1199; /* aarch64_frint32xv2df */

        case 3:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD)))
            return -1;
          return 1203; /* aarch64_frint32xdf */

        case 4:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD)))
            return -1;
          return 1207; /* aarch64_frint32xsf */

        default:
          return -1;
        }

    case 20:
      switch (pattern132 (x1))
        {
        case 0:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD)))
            return -1;
          return 1192; /* aarch64_frint64zv2sf */

        case 1:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD)))
            return -1;
          return 1196; /* aarch64_frint64zv4sf */

        case 2:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD)))
            return -1;
          return 1200; /* aarch64_frint64zv2df */

        case 3:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD)))
            return -1;
          return 1204; /* aarch64_frint64zdf */

        case 4:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD)))
            return -1;
          return 1208; /* aarch64_frint64zsf */

        default:
          return -1;
        }

    case 21:
      switch (pattern132 (x1))
        {
        case 0:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD)))
            return -1;
          return 1193; /* aarch64_frint64xv2sf */

        case 1:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD)))
            return -1;
          return 1197; /* aarch64_frint64xv4sf */

        case 2:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD)))
            return -1;
          return 1201; /* aarch64_frint64xv2df */

        case 3:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD)))
            return -1;
          return 1205; /* aarch64_frint64xdf */

        case 4:
          if (!
#line 7701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FRINT && TARGET_FLOAT
   && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD)))
            return -1;
          return 1209; /* aarch64_frint64xsf */

        default:
          return -1;
        }

    case 105:
      return recog_189 (x1, insn, pnum_clobbers);

    case 168:
      return recog_200 (x1, insn, pnum_clobbers);

    case 530:
      return recog_214 (x1, insn, pnum_clobbers);

    case 176:
      return recog_207 (x1, insn, pnum_clobbers);

    case 175:
      return recog_215 (x1, insn, pnum_clobbers);

    case 177:
      switch (pattern136 (x1))
        {
        case 0:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2477; /* aarch64_saddlvv8qi */

        case 1:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2479; /* aarch64_saddlvv16qi */

        case 2:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2481; /* aarch64_saddlvv4hi */

        case 3:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2483; /* aarch64_saddlvv8hi */

        case 4:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2485; /* aarch64_saddlvv4si */

        case 5:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2487; /* aarch64_saddlvv2si */

        default:
          return -1;
        }

    case 178:
      switch (pattern136 (x1))
        {
        case 0:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2478; /* aarch64_uaddlvv8qi */

        case 1:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2480; /* aarch64_uaddlvv16qi */

        case 2:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2482; /* aarch64_uaddlvv4hi */

        case 3:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2484; /* aarch64_uaddlvv8hi */

        case 4:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2486; /* aarch64_uaddlvv4si */

        case 5:
          if (!
#line 3477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2488; /* aarch64_uaddlvv2si */

        default:
          return -1;
        }

    case 228:
      switch (pattern137 (x1))
        {
        case 0:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2489; /* aarch64_saddlpv8qi */

        case 1:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2491; /* aarch64_saddlpv16qi */

        case 2:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2493; /* aarch64_saddlpv4hi */

        case 3:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2495; /* aarch64_saddlpv8hi */

        case 4:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2497; /* aarch64_saddlpv4si */

        case 5:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2499; /* aarch64_saddlpv2si */

        default:
          return -1;
        }

    case 229:
      switch (pattern137 (x1))
        {
        case 0:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2490; /* aarch64_uaddlpv8qi */

        case 1:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2492; /* aarch64_uaddlpv16qi */

        case 2:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2494; /* aarch64_uaddlpv4hi */

        case 3:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2496; /* aarch64_uaddlpv8hi */

        case 4:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2498; /* aarch64_uaddlpv4si */

        case 5:
          if (!
#line 3486 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2500; /* aarch64_uaddlpv2si */

        default:
          return -1;
        }

    case 181:
      switch (pattern138 (x1))
        {
        case 0:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2515; /* aarch64_reduc_umax_internalv8qi */

        case 1:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2519; /* aarch64_reduc_umax_internalv16qi */

        case 2:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2523; /* aarch64_reduc_umax_internalv4hi */

        case 3:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2527; /* aarch64_reduc_umax_internalv8hi */

        case 4:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2531; /* aarch64_reduc_umax_internalv4si */

        case 5:
          if (!
#line 3574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2535; /* aarch64_reduc_umax_internalv2si */

        default:
          return -1;
        }

    case 182:
      switch (pattern138 (x1))
        {
        case 0:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2516; /* aarch64_reduc_umin_internalv8qi */

        case 1:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2520; /* aarch64_reduc_umin_internalv16qi */

        case 2:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2524; /* aarch64_reduc_umin_internalv4hi */

        case 3:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2528; /* aarch64_reduc_umin_internalv8hi */

        case 4:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2532; /* aarch64_reduc_umin_internalv4si */

        case 5:
          if (!
#line 3574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2536; /* aarch64_reduc_umin_internalv2si */

        default:
          return -1;
        }

    case 179:
      switch (pattern138 (x1))
        {
        case 0:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2517; /* aarch64_reduc_smax_internalv8qi */

        case 1:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2521; /* aarch64_reduc_smax_internalv16qi */

        case 2:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2525; /* aarch64_reduc_smax_internalv4hi */

        case 3:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2529; /* aarch64_reduc_smax_internalv8hi */

        case 4:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2533; /* aarch64_reduc_smax_internalv4si */

        case 5:
          if (!
#line 3574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2537; /* aarch64_reduc_smax_internalv2si */

        default:
          return -1;
        }

    case 180:
      switch (pattern138 (x1))
        {
        case 0:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2518; /* aarch64_reduc_smin_internalv8qi */

        case 1:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2522; /* aarch64_reduc_smin_internalv16qi */

        case 2:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2526; /* aarch64_reduc_smin_internalv4hi */

        case 3:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2530; /* aarch64_reduc_smin_internalv8hi */

        case 4:
          if (!
#line 3565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2534; /* aarch64_reduc_smin_internalv4si */

        case 5:
          if (!
#line 3574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2538; /* aarch64_reduc_smin_internalv2si */

        default:
          return -1;
        }

    case 171:
      switch (pattern139 (x1))
        {
        case 0:
          if (!(
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2539; /* aarch64_reduc_smax_nan_internalv4hf */

        case 1:
          if (!(
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2543; /* aarch64_reduc_smax_nan_internalv8hf */

        case 2:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2547; /* aarch64_reduc_smax_nan_internalv2sf */

        case 3:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2551; /* aarch64_reduc_smax_nan_internalv4sf */

        case 4:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2555; /* aarch64_reduc_smax_nan_internalv2df */

        default:
          return -1;
        }

    case 174:
      switch (pattern139 (x1))
        {
        case 0:
          if (!(
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2540; /* aarch64_reduc_smin_nan_internalv4hf */

        case 1:
          if (!(
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2544; /* aarch64_reduc_smin_nan_internalv8hf */

        case 2:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2548; /* aarch64_reduc_smin_nan_internalv2sf */

        case 3:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2552; /* aarch64_reduc_smin_nan_internalv4sf */

        case 4:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2556; /* aarch64_reduc_smin_nan_internalv2df */

        default:
          return -1;
        }

    case 170:
      switch (pattern139 (x1))
        {
        case 0:
          if (!(
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2541; /* aarch64_reduc_smax_internalv4hf */

        case 1:
          if (!(
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2545; /* aarch64_reduc_smax_internalv8hf */

        case 2:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2549; /* aarch64_reduc_smax_internalv2sf */

        case 3:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2553; /* aarch64_reduc_smax_internalv4sf */

        case 4:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2557; /* aarch64_reduc_smax_internalv2df */

        default:
          return -1;
        }

    case 173:
      switch (pattern139 (x1))
        {
        case 0:
          if (!(
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2542; /* aarch64_reduc_smin_internalv4hf */

        case 1:
          if (!(
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2546; /* aarch64_reduc_smin_internalv8hf */

        case 2:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2550; /* aarch64_reduc_smin_internalv2sf */

        case 3:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2554; /* aarch64_reduc_smin_internalv4sf */

        case 4:
          if (!
#line 3583 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2558; /* aarch64_reduc_smin_internalv2df */

        default:
          return -1;
        }

    case 199:
      return recog_211 (x1, insn, pnum_clobbers);

    case 227:
      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 6770 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3609; /* aarch64_addpdi */

    case 39:
      return recog_199 (x1, insn, pnum_clobbers);

    case 41:
      return recog_192 (x1, insn, pnum_clobbers);

    case 80:
      return recog_188 (x1, insn, pnum_clobbers);

    case 42:
      return recog_198 (x1, insn, pnum_clobbers);

    case 44:
      return recog_191 (x1, insn, pnum_clobbers);

    case 81:
      return recog_187 (x1, insn, pnum_clobbers);

    case 45:
      return recog_197 (x1, insn, pnum_clobbers);

    case 47:
      return recog_190 (x1, insn, pnum_clobbers);

    case 82:
      return recog_186 (x1, insn, pnum_clobbers);

    case 38:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      return recog_183 (x1, insn, pnum_clobbers);

    case 79:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      return recog_184 (x1, insn, pnum_clobbers);

    case 40:
      return recog_196 (x1, insn, pnum_clobbers);

    case 43:
      return recog_195 (x1, insn, pnum_clobbers);

    case 46:
      return recog_194 (x1, insn, pnum_clobbers);

    case 240:
      return recog_205 (x1, insn, pnum_clobbers);

    case 241:
      return recog_203 (x1, insn, pnum_clobbers);

    case 242:
      return recog_204 (x1, insn, pnum_clobbers);

    case 23:
      return recog_193 (x1, insn, pnum_clobbers);

    case 25:
      return recog_210 (x1, insn, pnum_clobbers);

    case 22:
      return recog_213 (x1, insn, pnum_clobbers);

    case 243:
      switch (pattern142 (x1))
        {
        case 0:
          if (!
#line 8124 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_AES))
            return -1;
          return 4324; /* aarch64_crypto_aesev16qi */

        case 1:
          if (!
#line 2568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES))
            return -1;
          return 10103; /* aarch64_sve2_aese */

        default:
          return -1;
        }

    case 244:
      switch (pattern142 (x1))
        {
        case 0:
          if (!
#line 8124 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_AES))
            return -1;
          return 4325; /* aarch64_crypto_aesdv16qi */

        case 1:
          if (!
#line 2568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES))
            return -1;
          return 10104; /* aarch64_sve2_aesd */

        default:
          return -1;
        }

    case 245:
      switch (pattern144 (x1, 243))
        {
        case 0:
          if (!
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_AES))
            return -1;
          return 4326; /* aarch64_crypto_aesmcv16qi */

        case 1:
          if (!
#line 2579 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES))
            return -1;
          return 10105; /* aarch64_sve2_aesmc */

        case 2:
          if (!
#line 8152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_AES
   && aarch64_fusion_enabled_p (AARCH64_FUSE_AES_AESMC)))
            return -1;
          return 4328; /* *aarch64_crypto_aese_fused */

        case 3:
          if (!
#line 2598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES && aarch64_fusion_enabled_p (AARCH64_FUSE_AES_AESMC)))
            return -1;
          return 10107; /* *aarch64_sve2_aese_fused */

        default:
          return -1;
        }

    case 246:
      switch (pattern144 (x1, 244))
        {
        case 0:
          if (!
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_AES))
            return -1;
          return 4327; /* aarch64_crypto_aesimcv16qi */

        case 1:
          if (!
#line 2579 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES))
            return -1;
          return 10106; /* aarch64_sve2_aesimc */

        case 2:
          if (!
#line 8173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_AES
   && aarch64_fusion_enabled_p (AARCH64_FUSE_AES_AESMC)))
            return -1;
          return 4329; /* *aarch64_crypto_aesd_fused */

        case 3:
          if (!
#line 2613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_AES && aarch64_fusion_enabled_p (AARCH64_FUSE_AES_AESMC)))
            return -1;
          return 10108; /* *aarch64_sve2_aesd_fused */

        default:
          return -1;
        }

    case 250:
      return recog_209 (x1, insn, pnum_clobbers);

    case 527:
      return recog_202 (x1, insn, pnum_clobbers);

    case 529:
      return recog_212 (x1, insn, pnum_clobbers);

    case 528:
      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 9189 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_BF16_SIMD))
        return -1;
      return 4422; /* aarch64_vbfcvt_highv8bf */

    case 145:
      return recog_201 (x1, insn, pnum_clobbers);

    case 151:
      if (pattern131 (x1, E_VNx16BImode, 85) != 0
          || !
#line 1211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4764; /* aarch64_update_ffrt */

    case 310:
      return recog_208 (x1, insn, pnum_clobbers);

    case 123:
      switch (pattern146 (x1))
        {
        case 0:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8972; /* aarch64_sve_sunpkhi_vnx16qi */

        case 1:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8976; /* aarch64_sve_sunpkhi_vnx8hi */

        case 2:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8980; /* aarch64_sve_sunpkhi_vnx4si */

        default:
          return -1;
        }

    case 124:
      switch (pattern147 (x1))
        {
        case 0:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8973; /* aarch64_sve_uunpkhi_vnx16qi */

        case 1:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8977; /* aarch64_sve_uunpkhi_vnx8hi */

        case 2:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8981; /* aarch64_sve_uunpkhi_vnx4si */

        case 3:
          if (!
#line 9641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9083; /* aarch64_sve_punpkhi_vnx16bi */

        case 4:
          if (!
#line 9641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9085; /* aarch64_sve_punpkhi_vnx8bi */

        case 5:
          if (!
#line 9641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9087; /* aarch64_sve_punpkhi_vnx4bi */

        default:
          return -1;
        }

    case 125:
      switch (pattern146 (x1))
        {
        case 0:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8974; /* aarch64_sve_sunpklo_vnx16qi */

        case 1:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8978; /* aarch64_sve_sunpklo_vnx8hi */

        case 2:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8982; /* aarch64_sve_sunpklo_vnx4si */

        default:
          return -1;
        }

    case 126:
      switch (pattern147 (x1))
        {
        case 0:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8975; /* aarch64_sve_uunpklo_vnx16qi */

        case 1:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8979; /* aarch64_sve_uunpklo_vnx8hi */

        case 2:
          if (!
#line 8975 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8983; /* aarch64_sve_uunpklo_vnx4si */

        case 3:
          if (!
#line 9641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9082; /* aarch64_sve_punpklo_vnx16bi */

        case 4:
          if (!
#line 9641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9084; /* aarch64_sve_punpklo_vnx8bi */

        case 5:
          if (!
#line 9641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9086; /* aarch64_sve_punpklo_vnx4bi */

        default:
          return -1;
        }

    case 481:
      switch (pattern148 (x1))
        {
        case 0:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9804; /* aarch64_sve_sqxtnbvnx8hi */

        case 1:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9807; /* aarch64_sve_sqxtnbvnx4si */

        case 2:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9810; /* aarch64_sve_sqxtnbvnx2di */

        default:
          return -1;
        }

    case 483:
      switch (pattern148 (x1))
        {
        case 0:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9805; /* aarch64_sve_sqxtunbvnx8hi */

        case 1:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9808; /* aarch64_sve_sqxtunbvnx4si */

        case 2:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9811; /* aarch64_sve_sqxtunbvnx2di */

        default:
          return -1;
        }

    case 513:
      switch (pattern148 (x1))
        {
        case 0:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9806; /* aarch64_sve_uqxtnbvnx8hi */

        case 1:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9809; /* aarch64_sve_uqxtnbvnx4si */

        case 2:
          if (!
#line 1551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9812; /* aarch64_sve_uqxtnbvnx2di */

        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, x9;
  int res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (XINT (x2, 1))
    {
    case 268:
      if (pattern149 (x1) != 0
          || !
#line 8383 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SM4))
        return -1;
      return 4357; /* aarch64_sm3tt1aqv4si */

    case 269:
      if (pattern149 (x1) != 0
          || !
#line 8383 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SM4))
        return -1;
      return 4358; /* aarch64_sm3tt1bqv4si */

    case 270:
      if (pattern149 (x1) != 0
          || !
#line 8383 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SM4))
        return -1;
      return 4359; /* aarch64_sm3tt2aqv4si */

    case 271:
      if (pattern149 (x1) != 0
          || !
#line 8383 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SM4))
        return -1;
      return 4360; /* aarch64_sm3tt2bqv4si */

    case 121:
      return recog_395 (x1, insn, pnum_clobbers);

    case 372:
      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 (pattern650 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0
              || !
#line 4882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6976; /* aarch64_pred_fscalevnx8hf */

        case E_VNx4SFmode:
          if (pattern650 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0
              || !
#line 4882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6977; /* aarch64_pred_fscalevnx4sf */

        case E_VNx2DFmode:
          if (pattern650 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0
              || !
#line 4882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6978; /* aarch64_pred_fscalevnx2df */

        default:
          return -1;
        }

    case 352:
      switch (pattern151 (x1))
        {
        case 0:
          if (!
#line 5093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7006; /* aarch64_pred_divvnx8hf */

        case 1:
          if (!
#line 5093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7008; /* aarch64_pred_divvnx4sf */

        case 2:
          if (!
#line 5093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7010; /* aarch64_pred_divvnx2df */

        default:
          return -1;
        }

    case 360:
      switch (pattern151 (x1))
        {
        case 0:
          if (!
#line 5093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7007; /* aarch64_pred_mulxvnx8hf */

        case 1:
          if (!
#line 5093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7009; /* aarch64_pred_mulxvnx4sf */

        case 2:
          if (!
#line 5093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7011; /* aarch64_pred_mulxvnx2df */

        default:
          return -1;
        }

    case 335:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[4] = x5;
      switch (pattern441 (x2))
        {
        case 0:
          if (!
#line 5399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7234; /* aarch64_pred_addvnx8hf */

        case 1:
          if (!
#line 5399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7235; /* aarch64_pred_addvnx4sf */

        case 2:
          if (!
#line 5399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7236; /* aarch64_pred_addvnx2df */

        default:
          return -1;
        }

    case 336:
      switch (pattern151 (x1))
        {
        case 0:
          if (!
#line 5555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7249; /* aarch64_pred_cadd90vnx8hf */

        case 1:
          if (!
#line 5555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7251; /* aarch64_pred_cadd90vnx4sf */

        case 2:
          if (!
#line 5555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7253; /* aarch64_pred_cadd90vnx2df */

        default:
          return -1;
        }

    case 337:
      switch (pattern151 (x1))
        {
        case 0:
          if (!
#line 5555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7250; /* aarch64_pred_cadd270vnx8hf */

        case 1:
          if (!
#line 5555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7252; /* aarch64_pred_cadd270vnx4sf */

        case 2:
          if (!
#line 5555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7254; /* aarch64_pred_cadd270vnx2df */

        default:
          return -1;
        }

    case 374:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[4] = x5;
      switch (pattern443 (x2))
        {
        case 0:
          if (!
#line 5718 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7279; /* aarch64_pred_subvnx8hf */

        case 1:
          if (!
#line 5718 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7280; /* aarch64_pred_subvnx4sf */

        case 2:
          if (!
#line 5718 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7281; /* aarch64_pred_subvnx2df */

        default:
          return -1;
        }

    case 359:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      x5 = XVECEXP (x2, 0, 1);
      operands[4] = x5;
      switch (pattern445 (x2))
        {
        case 0:
          if (!
#line 6143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7318; /* aarch64_pred_mulvnx8hf */

        case 1:
          if (!
#line 6143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7319; /* aarch64_pred_mulvnx4sf */

        case 2:
          if (!
#line 6143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7320; /* aarch64_pred_mulvnx2df */

        default:
          return -1;
        }

    case 353:
      switch (pattern153 (x1))
        {
        case 0:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7333; /* aarch64_pred_fmax_nanvnx8hf */

        case 1:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7337; /* aarch64_pred_fmax_nanvnx4sf */

        case 2:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7341; /* aarch64_pred_fmax_nanvnx2df */

        default:
          return -1;
        }

    case 354:
      switch (pattern153 (x1))
        {
        case 0:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7334; /* aarch64_pred_smaxvnx8hf */

        case 1:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7338; /* aarch64_pred_smaxvnx4sf */

        case 2:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7342; /* aarch64_pred_smaxvnx2df */

        default:
          return -1;
        }

    case 355:
      switch (pattern153 (x1))
        {
        case 0:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7335; /* aarch64_pred_fmin_nanvnx8hf */

        case 1:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7339; /* aarch64_pred_fmin_nanvnx4sf */

        case 2:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7343; /* aarch64_pred_fmin_nanvnx2df */

        default:
          return -1;
        }

    case 356:
      switch (pattern153 (x1))
        {
        case 0:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7336; /* aarch64_pred_sminvnx8hf */

        case 1:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7340; /* aarch64_pred_sminvnx4sf */

        case 2:
          if (!
#line 6351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7344; /* aarch64_pred_sminvnx2df */

        default:
          return -1;
        }

    case 523:
      if (pattern154 (x1) != 0
          || !
#line 7539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7692; /* aarch64_sve_bfdot_lanevnx4sf */

    case 524:
      if (pattern154 (x1) != 0
          || !
#line 7539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7693; /* aarch64_sve_bfmlalb_lanevnx4sf */

    case 525:
      if (pattern154 (x1) != 0
          || !
#line 7539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
        return -1;
      return 7694; /* aarch64_sve_bfmlalt_lanevnx4sf */

    case 338:
      switch (pattern157 (x1))
        {
        case 0:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8465; /* aarch64_pred_fcmeqvnx8hf */

        case 1:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8471; /* aarch64_pred_fcmeqvnx4sf */

        case 2:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8477; /* aarch64_pred_fcmeqvnx2df */

        default:
          return -1;
        }

    case 339:
      switch (pattern158 (x1))
        {
        case 0:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8466; /* aarch64_pred_fcmgevnx8hf */

        case 1:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8472; /* aarch64_pred_fcmgevnx4sf */

        case 2:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8478; /* aarch64_pred_fcmgevnx2df */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          x8 = XVECEXP (x6, 0, 1);
          if (XWINT (x8, 0) == 0L)
            {
              switch (pattern881 (x2))
                {
                case 0:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8549; /* *aarch64_pred_facgevnx8hf_relaxed */
                  break;

                case 1:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8553; /* *aarch64_pred_facgevnx4sf_relaxed */
                  break;

                case 2:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8557; /* *aarch64_pred_facgevnx2df_relaxed */
                  break;

                default:
                  break;
                }
            }
          operands[5] = x8;
          switch (pattern882 (x2))
            {
            case 0:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8561; /* *aarch64_pred_facgevnx8hf_strict */

            case 1:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8565; /* *aarch64_pred_facgevnx4sf_strict */

            case 2:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8569; /* *aarch64_pred_facgevnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 340:
      switch (pattern158 (x1))
        {
        case 0:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8467; /* aarch64_pred_fcmgtvnx8hf */

        case 1:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8473; /* aarch64_pred_fcmgtvnx4sf */

        case 2:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8479; /* aarch64_pred_fcmgtvnx2df */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          x8 = XVECEXP (x6, 0, 1);
          if (XWINT (x8, 0) == 0L)
            {
              switch (pattern881 (x2))
                {
                case 0:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8550; /* *aarch64_pred_facgtvnx8hf_relaxed */
                  break;

                case 1:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8554; /* *aarch64_pred_facgtvnx4sf_relaxed */
                  break;

                case 2:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8558; /* *aarch64_pred_facgtvnx2df_relaxed */
                  break;

                default:
                  break;
                }
            }
          operands[5] = x8;
          switch (pattern882 (x2))
            {
            case 0:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8562; /* *aarch64_pred_facgtvnx8hf_strict */

            case 1:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8566; /* *aarch64_pred_facgtvnx4sf_strict */

            case 2:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8570; /* *aarch64_pred_facgtvnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 345:
      switch (pattern158 (x1))
        {
        case 0:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8468; /* aarch64_pred_fcmlevnx8hf */

        case 1:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8474; /* aarch64_pred_fcmlevnx4sf */

        case 2:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8480; /* aarch64_pred_fcmlevnx2df */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          x8 = XVECEXP (x6, 0, 1);
          if (XWINT (x8, 0) == 0L)
            {
              switch (pattern881 (x2))
                {
                case 0:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8551; /* *aarch64_pred_faclevnx8hf_relaxed */
                  break;

                case 1:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8555; /* *aarch64_pred_faclevnx4sf_relaxed */
                  break;

                case 2:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8559; /* *aarch64_pred_faclevnx2df_relaxed */
                  break;

                default:
                  break;
                }
            }
          operands[5] = x8;
          switch (pattern882 (x2))
            {
            case 0:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8563; /* *aarch64_pred_faclevnx8hf_strict */

            case 1:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8567; /* *aarch64_pred_faclevnx4sf_strict */

            case 2:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8571; /* *aarch64_pred_faclevnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 346:
      switch (pattern158 (x1))
        {
        case 0:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8469; /* aarch64_pred_fcmltvnx8hf */

        case 1:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8475; /* aarch64_pred_fcmltvnx4sf */

        case 2:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8481; /* aarch64_pred_fcmltvnx2df */

        case 3:
          x6 = XVECEXP (x2, 0, 2);
          x8 = XVECEXP (x6, 0, 1);
          if (XWINT (x8, 0) == 0L)
            {
              switch (pattern881 (x2))
                {
                case 0:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8552; /* *aarch64_pred_facltvnx8hf_relaxed */
                  break;

                case 1:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8556; /* *aarch64_pred_facltvnx4sf_relaxed */
                  break;

                case 2:
                  if (
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 8560; /* *aarch64_pred_facltvnx2df_relaxed */
                  break;

                default:
                  break;
                }
            }
          operands[5] = x8;
          switch (pattern882 (x2))
            {
            case 0:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8564; /* *aarch64_pred_facltvnx8hf_strict */

            case 1:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8568; /* *aarch64_pred_facltvnx4sf_strict */

            case 2:
              if (!
#line 8392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 8572; /* *aarch64_pred_facltvnx2df_strict */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 347:
      switch (pattern157 (x1))
        {
        case 0:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8470; /* aarch64_pred_fcmnevnx8hf */

        case 1:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8476; /* aarch64_pred_fcmnevnx4sf */

        case 2:
          if (!
#line 8094 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8482; /* aarch64_pred_fcmnevnx2df */

        default:
          return -1;
        }

    case 348:
      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 (pattern651 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
              || !
#line 8109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8483; /* aarch64_pred_fcmuovnx8hf */

        case E_VNx4BImode:
          if (pattern651 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
              || !
#line 8109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8484; /* aarch64_pred_fcmuovnx4sf */

        case E_VNx2BImode:
          if (pattern651 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
              || !
#line 8109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8485; /* aarch64_pred_fcmuovnx2df */

        default:
          return -1;
        }

    case 531:
      return recog_396 (x1, insn, pnum_clobbers);

    case 417:
      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 (pattern604 (x2, E_VNx4SFmode, E_VNx8BFmode, E_VNx4BImode) != 0
              || !
#line 9506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE_BF16))
            return -1;
          return 9072; /* aarch64_sve_cvtntvnx8bf */

        case E_VNx8HFmode:
          if (pattern604 (x2, E_VNx4SFmode, E_VNx8HFmode, E_VNx4BImode) != 0
              || !
#line 2042 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10030; /* aarch64_sve_cvtntvnx8hf */

        case E_VNx4SFmode:
          if (pattern604 (x2, E_VNx2DFmode, E_VNx4SFmode, E_VNx2BImode) != 0
              || !
#line 2042 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 10031; /* aarch64_sve_cvtntvnx4sf */

        default:
          return -1;
        }

    case 116:
      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 (pattern736 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !
#line 112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9219; /* aarch64_gather_ldntvnx4si */

        case E_VNx2DImode:
          if (pattern736 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !
#line 112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9220; /* aarch64_gather_ldntvnx2di */

        case E_VNx4SFmode:
          if (pattern737 (x2, E_VNx4SImode, E_VNx4BImode, E_VNx4SFmode) != 0
              || !
#line 112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9221; /* aarch64_gather_ldntvnx4sf */

        case E_VNx2DFmode:
          if (pattern737 (x2, E_VNx2DImode, E_VNx2BImode, E_VNx2DFmode) != 0
              || !
#line 112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9222; /* aarch64_gather_ldntvnx2df */

        default:
          return -1;
        }

    case 118:
      if (pattern69 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE))
                    return -1;
                  return 9233; /* aarch64_scatter_stntvnx4si */

                case E_VNx4SFmode:
                  if (!register_operand (operands[3], E_VNx4SFmode)
                      || !
#line 162 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE))
                    return -1;
                  return 9235; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE))
                    return -1;
                  return 9234; /* aarch64_scatter_stntvnx2di */

                case E_VNx2DFmode:
                  if (!register_operand (operands[3], E_VNx2DFmode)
                      || !
#line 162 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE))
                    return -1;
                  return 9236; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x41) == 0))
                    return -1;
                  return 9237; /* aarch64_scatter_stnt_vnx4sivnx4qi */

                case E_VNx4HImode:
                  if (!
#line 178 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x42) == 0))
                    return -1;
                  return 9239; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x21) == 0))
                    return -1;
                  return 9238; /* aarch64_scatter_stnt_vnx2divnx2qi */

                case E_VNx2HImode:
                  if (!
#line 178 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x22) == 0))
                    return -1;
                  return 9240; /* aarch64_scatter_stnt_vnx2divnx2hi */

                case E_VNx2SImode:
                  if (!
#line 178 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x24) == 0))
                    return -1;
                  return 9241; /* aarch64_scatter_stnt_vnx2divnx2si */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 419:
      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 2132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
        return -1;
      return 10035; /* aarch64_sve2_cvtxntvnx2df */

    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;
  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 535; /* *aarch64_andsi_imm2 */
      if (!aarch64_logical_operand (operands[2], E_SImode))
        return -1;
      return 537; /* 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 536; /* *aarch64_anddi_imm2 */
      if (!aarch64_logical_operand (operands[2], E_DImode))
        return -1;
      return 540; /* anddi3 */

    case E_V8QImode:
      if (pattern446 (x3, E_V8QImode) != 0
          || !
#line 1006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1765; /* andv8qi3 */

    case E_V16QImode:
      if (pattern446 (x3, E_V16QImode) != 0
          || !
#line 1006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1766; /* andv16qi3 */

    case E_V4HImode:
      if (pattern446 (x3, E_V4HImode) != 0
          || !
#line 1006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1767; /* andv4hi3 */

    case E_V8HImode:
      if (pattern446 (x3, E_V8HImode) != 0
          || !
#line 1006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1768; /* andv8hi3 */

    case E_V2SImode:
      if (pattern446 (x3, E_V2SImode) != 0
          || !
#line 1006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1769; /* andv2si3 */

    case E_V4SImode:
      if (pattern446 (x3, E_V4SImode) != 0
          || !
#line 1006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1770; /* andv4si3 */

    case E_V2DImode:
      if (pattern446 (x3, E_V2DImode) != 0
          || !
#line 1006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1771; /* andv2di3 */

    case E_VNx16QImode:
      if (pattern379 (x3, E_VNx16QImode) != 0
          || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6673; /* andvnx16qi3 */

    case E_VNx8QImode:
      if (pattern379 (x3, E_VNx8QImode) != 0
          || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6676; /* andvnx8qi3 */

    case E_VNx4QImode:
      if (pattern379 (x3, E_VNx4QImode) != 0
          || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6679; /* andvnx4qi3 */

    case E_VNx2QImode:
      if (pattern379 (x3, E_VNx2QImode) != 0
          || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6682; /* andvnx2qi3 */

    case E_VNx8HImode:
      if (pattern379 (x3, E_VNx8HImode) != 0
          || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6685; /* andvnx8hi3 */

    case E_VNx4HImode:
      if (pattern379 (x3, E_VNx4HImode) != 0
          || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6688; /* andvnx4hi3 */

    case E_VNx2HImode:
      if (pattern379 (x3, E_VNx2HImode) != 0
          || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6691; /* andvnx2hi3 */

    case E_VNx4SImode:
      if (pattern379 (x3, E_VNx4SImode) != 0
          || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6694; /* andvnx4si3 */

    case E_VNx2SImode:
      if (pattern379 (x3, E_VNx2SImode) != 0
          || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6697; /* andvnx2si3 */

    case E_VNx2DImode:
      if (pattern379 (x3, E_VNx2DImode) != 0
          || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 6700; /* andvnx2di3 */

    case E_VNx8BImode:
      if (pattern1 (x3, E_VNx8BImode) != 0
          || !
#line 6382 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7346; /* andvnx8bi3 */

    case E_VNx4BImode:
      if (pattern1 (x3, E_VNx4BImode) != 0
          || !
#line 6382 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7347; /* andvnx4bi3 */

    case E_VNx2BImode:
      if (pattern1 (x3, E_VNx2BImode) != 0
          || !
#line 6382 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7348; /* andvnx2bi3 */

    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, 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 (pattern260 (x3))
        {
        case 0:
          if (!
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6703; /* *bicvnx16qi3 */

        case 1:
          if (!
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6704; /* *bicvnx8qi3 */

        case 2:
          if (!
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6705; /* *bicvnx4qi3 */

        case 3:
          if (!
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6706; /* *bicvnx2qi3 */

        case 4:
          if (!
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6707; /* *bicvnx8hi3 */

        case 5:
          if (!
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6708; /* *bicvnx4hi3 */

        case 6:
          if (!
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6709; /* *bicvnx2hi3 */

        case 7:
          if (!
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6710; /* *bicvnx4si3 */

        case 8:
          if (!
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6711; /* *bicvnx2si3 */

        case 9:
          if (!
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6712; /* *bicvnx2di3 */

        default:
          return -1;
        }

    case 3:
      if (pnum_clobbers == NULL
          || XINT (x4, 1) != 120)
        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 (pattern652 (x3))
            {
            case 0:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8035; /* *cmpltvnx16qi_and */

            case 1:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8045; /* *cmpltvnx8qi_and */

            case 2:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8075; /* *cmpltvnx8hi_and */

            case 3:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8055; /* *cmpltvnx4qi_and */

            case 4:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8085; /* *cmpltvnx4hi_and */

            case 5:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8105; /* *cmpltvnx4si_and */

            case 6:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8065; /* *cmpltvnx2qi_and */

            case 7:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8095; /* *cmpltvnx2hi_and */

            case 8:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8115; /* *cmpltvnx2si_and */

            case 9:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8125; /* *cmpltvnx2di_and */

            default:
              return -1;
            }

        case LE:
          switch (pattern652 (x3))
            {
            case 0:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8036; /* *cmplevnx16qi_and */

            case 1:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8046; /* *cmplevnx8qi_and */

            case 2:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8076; /* *cmplevnx8hi_and */

            case 3:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8056; /* *cmplevnx4qi_and */

            case 4:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8086; /* *cmplevnx4hi_and */

            case 5:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8106; /* *cmplevnx4si_and */

            case 6:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8066; /* *cmplevnx2qi_and */

            case 7:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8096; /* *cmplevnx2hi_and */

            case 8:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8116; /* *cmplevnx2si_and */

            case 9:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8126; /* *cmplevnx2di_and */

            default:
              return -1;
            }

        case EQ:
          switch (pattern652 (x3))
            {
            case 0:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8037; /* *cmpeqvnx16qi_and */

            case 1:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8047; /* *cmpeqvnx8qi_and */

            case 2:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8077; /* *cmpeqvnx8hi_and */

            case 3:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8057; /* *cmpeqvnx4qi_and */

            case 4:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8087; /* *cmpeqvnx4hi_and */

            case 5:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8107; /* *cmpeqvnx4si_and */

            case 6:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8067; /* *cmpeqvnx2qi_and */

            case 7:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8097; /* *cmpeqvnx2hi_and */

            case 8:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8117; /* *cmpeqvnx2si_and */

            case 9:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8127; /* *cmpeqvnx2di_and */

            default:
              return -1;
            }

        case NE:
          switch (pattern652 (x3))
            {
            case 0:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8038; /* *cmpnevnx16qi_and */

            case 1:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8048; /* *cmpnevnx8qi_and */

            case 2:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8078; /* *cmpnevnx8hi_and */

            case 3:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8058; /* *cmpnevnx4qi_and */

            case 4:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8088; /* *cmpnevnx4hi_and */

            case 5:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8108; /* *cmpnevnx4si_and */

            case 6:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8068; /* *cmpnevnx2qi_and */

            case 7:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8098; /* *cmpnevnx2hi_and */

            case 8:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8118; /* *cmpnevnx2si_and */

            case 9:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8128; /* *cmpnevnx2di_and */

            default:
              return -1;
            }

        case GE:
          switch (pattern652 (x3))
            {
            case 0:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8039; /* *cmpgevnx16qi_and */

            case 1:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8049; /* *cmpgevnx8qi_and */

            case 2:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8079; /* *cmpgevnx8hi_and */

            case 3:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8059; /* *cmpgevnx4qi_and */

            case 4:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8089; /* *cmpgevnx4hi_and */

            case 5:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8109; /* *cmpgevnx4si_and */

            case 6:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8069; /* *cmpgevnx2qi_and */

            case 7:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8099; /* *cmpgevnx2hi_and */

            case 8:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8119; /* *cmpgevnx2si_and */

            case 9:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8129; /* *cmpgevnx2di_and */

            default:
              return -1;
            }

        case GT:
          switch (pattern652 (x3))
            {
            case 0:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8040; /* *cmpgtvnx16qi_and */

            case 1:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8050; /* *cmpgtvnx8qi_and */

            case 2:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8080; /* *cmpgtvnx8hi_and */

            case 3:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8060; /* *cmpgtvnx4qi_and */

            case 4:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8090; /* *cmpgtvnx4hi_and */

            case 5:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8110; /* *cmpgtvnx4si_and */

            case 6:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8070; /* *cmpgtvnx2qi_and */

            case 7:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8100; /* *cmpgtvnx2hi_and */

            case 8:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8120; /* *cmpgtvnx2si_and */

            case 9:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8130; /* *cmpgtvnx2di_and */

            default:
              return -1;
            }

        case LTU:
          switch (pattern653 (x3))
            {
            case 0:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8041; /* *cmplovnx16qi_and */

            case 1:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8051; /* *cmplovnx8qi_and */

            case 2:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8081; /* *cmplovnx8hi_and */

            case 3:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8061; /* *cmplovnx4qi_and */

            case 4:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8091; /* *cmplovnx4hi_and */

            case 5:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8111; /* *cmplovnx4si_and */

            case 6:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8071; /* *cmplovnx2qi_and */

            case 7:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8101; /* *cmplovnx2hi_and */

            case 8:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8121; /* *cmplovnx2si_and */

            case 9:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8131; /* *cmplovnx2di_and */

            default:
              return -1;
            }

        case LEU:
          switch (pattern653 (x3))
            {
            case 0:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8042; /* *cmplsvnx16qi_and */

            case 1:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8052; /* *cmplsvnx8qi_and */

            case 2:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8082; /* *cmplsvnx8hi_and */

            case 3:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8062; /* *cmplsvnx4qi_and */

            case 4:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8092; /* *cmplsvnx4hi_and */

            case 5:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8112; /* *cmplsvnx4si_and */

            case 6:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8072; /* *cmplsvnx2qi_and */

            case 7:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8102; /* *cmplsvnx2hi_and */

            case 8:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8122; /* *cmplsvnx2si_and */

            case 9:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8132; /* *cmplsvnx2di_and */

            default:
              return -1;
            }

        case GEU:
          switch (pattern653 (x3))
            {
            case 0:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8043; /* *cmphsvnx16qi_and */

            case 1:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8053; /* *cmphsvnx8qi_and */

            case 2:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8083; /* *cmphsvnx8hi_and */

            case 3:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8063; /* *cmphsvnx4qi_and */

            case 4:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8093; /* *cmphsvnx4hi_and */

            case 5:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8113; /* *cmphsvnx4si_and */

            case 6:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8073; /* *cmphsvnx2qi_and */

            case 7:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8103; /* *cmphsvnx2hi_and */

            case 8:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8123; /* *cmphsvnx2si_and */

            case 9:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8133; /* *cmphsvnx2di_and */

            default:
              return -1;
            }

        case GTU:
          switch (pattern653 (x3))
            {
            case 0:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8044; /* *cmphivnx16qi_and */

            case 1:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8054; /* *cmphivnx8qi_and */

            case 2:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8084; /* *cmphivnx8hi_and */

            case 3:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8064; /* *cmphivnx4qi_and */

            case 4:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8094; /* *cmphivnx4hi_and */

            case 5:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8114; /* *cmphivnx4si_and */

            case 6:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8074; /* *cmphivnx2qi_and */

            case 7:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8104; /* *cmphivnx2hi_and */

            case 8:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8124; /* *cmphivnx2si_and */

            case 9:
              if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              *pnum_clobbers = 1;
              return 8134; /* *cmphivnx2di_and */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 4:
      switch (pattern263 (x3))
        {
        case 0:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8486; /* *fcmeqvnx8hf_and_combine */

        case 1:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8492; /* *fcmeqvnx4sf_and_combine */

        case 2:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8498; /* *fcmeqvnx2df_and_combine */

        case 3:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8487; /* *fcmgevnx8hf_and_combine */

        case 4:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8493; /* *fcmgevnx4sf_and_combine */

        case 5:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8499; /* *fcmgevnx2df_and_combine */

        case 6:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8488; /* *fcmgtvnx8hf_and_combine */

        case 7:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8494; /* *fcmgtvnx4sf_and_combine */

        case 8:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8500; /* *fcmgtvnx2df_and_combine */

        case 9:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8489; /* *fcmlevnx8hf_and_combine */

        case 10:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8495; /* *fcmlevnx4sf_and_combine */

        case 11:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8501; /* *fcmlevnx2df_and_combine */

        case 12:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8490; /* *fcmltvnx8hf_and_combine */

        case 13:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8496; /* *fcmltvnx4sf_and_combine */

        case 14:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8502; /* *fcmltvnx2df_and_combine */

        case 15:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8491; /* *fcmnevnx8hf_and_combine */

        case 16:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8497; /* *fcmnevnx4sf_and_combine */

        case 17:
          if (!
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8503; /* *fcmnevnx2df_and_combine */

        case 18:
          if (!
#line 8154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8504; /* *fcmuovnx8hf_and_combine */

        case 19:
          if (!
#line 8154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8505; /* *fcmuovnx4sf_and_combine */

        case 20:
          if (!
#line 8154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8506; /* *fcmuovnx2df_and_combine */

        default:
          return -1;
        }

    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;
  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 (pattern270 (x2))
                {
                case 0:
                  if (
#line 5358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0))
                    return 751; /* *aarch64_ashl_reg_si3_mask1 */
                  break;

                case 1:
                  if (
#line 5358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0))
                    return 756; /* *aarch64_ashl_reg_di3_mask1 */
                  break;

                case 2:
                  if (
#line 5422 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                    return 773; /* *aarch64_ashl_reg_di3_mask2 */
                  break;

                case 3:
                  if (
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)))
                    return 761; /* *aarch64_ashl_reg_si3_neg_mask2 */
                  break;

                case 4:
                  if (
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                    return 766; /* *aarch64_ashl_reg_di3_neg_mask2 */
                  break;

                default:
                  break;
                }
            }
          operands[2] = x3;
          switch (GET_MODE (operands[0]))
            {
            case E_V8QImode:
              if (pattern1 (x2, E_V8QImode) == 0
                  && 
#line 1189 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1866; /* aarch64_simd_reg_sshlv8qi */
              break;

            case E_V16QImode:
              if (pattern1 (x2, E_V16QImode) == 0
                  && 
#line 1189 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1867; /* aarch64_simd_reg_sshlv16qi */
              break;

            case E_V4HImode:
              if (pattern1 (x2, E_V4HImode) == 0
                  && 
#line 1189 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1868; /* aarch64_simd_reg_sshlv4hi */
              break;

            case E_V8HImode:
              if (pattern1 (x2, E_V8HImode) == 0
                  && 
#line 1189 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1869; /* aarch64_simd_reg_sshlv8hi */
              break;

            case E_V2SImode:
              if (pattern1 (x2, E_V2SImode) == 0
                  && 
#line 1189 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1870; /* aarch64_simd_reg_sshlv2si */
              break;

            case E_V4SImode:
              if (pattern1 (x2, E_V4SImode) == 0
                  && 
#line 1189 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1871; /* aarch64_simd_reg_sshlv4si */
              break;

            case E_V2DImode:
              if (pattern1 (x2, E_V2DImode) == 0
                  && 
#line 1189 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1872; /* aarch64_simd_reg_sshlv2di */
              break;

            default:
              break;
            }
          break;

        case CONST_INT:
          switch (pattern343 (x2))
            {
            case 0:
              if (
#line 5691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
                return 804; /* *ashlqi3_insn */
              break;

            case 1:
              if (
#line 5691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
                return 807; /* *ashlhi3_insn */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      operands[2] = x3;
      switch (pattern344 (x2))
        {
        case 0:
          return 784; /* *aarch64_ashl_sisd_or_int_si3 */

        case 1:
          return 785; /* *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 (pattern554 (x2))
            {
            case 0:
              if (
#line 5395 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[4]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)
   && INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)))
                return 771; /* *aarch64_ashl_reg_si3_minus_mask */
              break;

            case 1:
              if (
#line 5395 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[4]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)
   && INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)))
                return 772; /* *aarch64_ashl_reg_di3_minus_mask */
              break;

            default:
              break;
            }
        }
      operands[3] = x5;
      if (!register_operand (operands[3], E_QImode))
        return -1;
      switch (pattern5 (x2))
        {
        case 0:
          if (!
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)))
            return -1;
          return 778; /* *aarch64_ashl_reg_minussi3 */

        case 1:
          if (!
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)))
            return -1;
          return 781; /* *aarch64_ashl_reg_minusdi3 */

        default:
          return -1;
        }

    case CONST_VECTOR:
    case CONST:
      operands[2] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_V8QImode:
          if (pattern506 (x2, E_V8QImode) != 0
              || !
#line 1180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1859; /* aarch64_simd_imm_shlv8qi */

        case E_V16QImode:
          if (pattern506 (x2, E_V16QImode) != 0
              || !
#line 1180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1860; /* aarch64_simd_imm_shlv16qi */

        case E_V4HImode:
          if (pattern506 (x2, E_V4HImode) != 0
              || !
#line 1180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1861; /* aarch64_simd_imm_shlv4hi */

        case E_V8HImode:
          if (pattern506 (x2, E_V8HImode) != 0
              || !
#line 1180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1862; /* aarch64_simd_imm_shlv8hi */

        case E_V2SImode:
          if (pattern506 (x2, E_V2SImode) != 0
              || !
#line 1180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1863; /* aarch64_simd_imm_shlv2si */

        case E_V4SImode:
          if (pattern506 (x2, E_V4SImode) != 0
              || !
#line 1180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1864; /* aarch64_simd_imm_shlv4si */

        case E_V2DImode:
          if (pattern506 (x2, E_V2DImode) != 0
              || !
#line 1180 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1865; /* aarch64_simd_imm_shlv2di */

        case E_VNx16QImode:
          if (pattern506 (x2, E_VNx16QImode) != 0
              || !
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6763; /* *post_ra_vashlvnx16qi3 */

        case E_VNx8QImode:
          if (pattern506 (x2, E_VNx8QImode) != 0
              || !
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6766; /* *post_ra_vashlvnx8qi3 */

        case E_VNx4QImode:
          if (pattern506 (x2, E_VNx4QImode) != 0
              || !
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6769; /* *post_ra_vashlvnx4qi3 */

        case E_VNx2QImode:
          if (pattern506 (x2, E_VNx2QImode) != 0
              || !
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6772; /* *post_ra_vashlvnx2qi3 */

        case E_VNx8HImode:
          if (pattern506 (x2, E_VNx8HImode) != 0
              || !
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6775; /* *post_ra_vashlvnx8hi3 */

        case E_VNx4HImode:
          if (pattern506 (x2, E_VNx4HImode) != 0
              || !
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6778; /* *post_ra_vashlvnx4hi3 */

        case E_VNx2HImode:
          if (pattern506 (x2, E_VNx2HImode) != 0
              || !
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6781; /* *post_ra_vashlvnx2hi3 */

        case E_VNx4SImode:
          if (pattern506 (x2, E_VNx4SImode) != 0
              || !
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6784; /* *post_ra_vashlvnx4si3 */

        case E_VNx2SImode:
          if (pattern506 (x2, E_VNx2SImode) != 0
              || !
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6787; /* *post_ra_vashlvnx2si3 */

        case E_VNx2DImode:
          if (pattern506 (x2, E_VNx2DImode) != 0
              || !
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 6790; /* *post_ra_vashlvnx2di3 */

        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, 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 (pattern345 (x3))
        {
        case 0:
          if (!
#line 5834 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (SImode) - 1)))
            return -1;
          return 834; /* *extzvsi */

        case 1:
          if (!
#line 5834 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (DImode) - 1)))
            return -1;
          return 836; /* *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 6053 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!(UINTVAL (operands[1]) == 0
     || (UINTVAL (operands[3]) + UINTVAL (operands[1])
	 > GET_MODE_BITSIZE (SImode)))))
            return -1;
          return 860; /* *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 6053 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!(UINTVAL (operands[1]) == 0
     || (UINTVAL (operands[3]) + UINTVAL (operands[1])
	 > GET_MODE_BITSIZE (DImode)))))
            return -1;
          return 861; /* *extr_insv_lower_regdi */

        default:
          return -1;
        }

    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, 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 (pattern539 (x9))
        {
        case 0:
          if (pattern740 (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 8478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return 4365; /* aarch64_simd_fmlal_lowv2sf */
          if (!vect_par_cnst_hi_half (operands[4], E_V4HFmode)
              || !vect_par_cnst_hi_half (operands[5], E_V4HFmode)
              || !
#line 8513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return -1;
          return 4369; /* aarch64_simd_fmlal_highv2sf */

        case 1:
          if (pattern740 (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 8478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return 4366; /* aarch64_simd_fmlalq_lowv4sf */
          if (!vect_par_cnst_hi_half (operands[4], E_V8HFmode)
              || !vect_par_cnst_hi_half (operands[5], E_V8HFmode)
              || !
#line 8513 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return -1;
          return 4370; /* aarch64_simd_fmlalq_highv4sf */

        case 2:
          if (pattern865 (x2, E_V2SFmode, E_V2HFmode, E_V4HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V4HFmode))
            {
              switch (pattern958 ())
                {
                case 0:
                  if (
#line 8590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4373; /* aarch64_simd_fmlal_lane_lowv2sf */
                  break;

                case 1:
                  if (
#line 8820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4381; /* aarch64_simd_fmlal_laneq_lowv2sf */
                  break;

                default:
                  break;
                }
            }
          if (!vect_par_cnst_hi_half (operands[4], E_V4HFmode))
            return -1;
          switch (pattern958 ())
            {
            case 0:
              if (!
#line 8627 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4375; /* aarch64_simd_fmlal_lane_highv2sf */

            case 1:
              if (!
#line 8857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4383; /* aarch64_simd_fmlal_laneq_highv2sf */

            default:
              return -1;
            }

        case 3:
          if (pattern865 (x2, E_V4SFmode, E_V4HFmode, E_V8HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V8HFmode))
            {
              switch (pattern959 ())
                {
                case 0:
                  if (
#line 8704 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4377; /* aarch64_simd_fmlalq_laneq_lowv4sf */
                  break;

                case 1:
                  if (
#line 8934 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4385; /* aarch64_simd_fmlalq_lane_lowv4sf */
                  break;

                default:
                  break;
                }
            }
          if (!vect_par_cnst_hi_half (operands[4], E_V8HFmode))
            return -1;
          switch (pattern959 ())
            {
            case 0:
              if (!
#line 8741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4379; /* aarch64_simd_fmlalq_laneq_highv4sf */

            case 1:
              if (!
#line 8971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4387; /* 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 (pattern539 (x9))
        {
        case 0:
          if (pattern788 (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 8496 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return 4367; /* aarch64_simd_fmlsl_lowv2sf */
          if (!vect_par_cnst_hi_half (operands[4], E_V4HFmode)
              || !vect_par_cnst_hi_half (operands[5], E_V4HFmode)
              || !
#line 8531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return -1;
          return 4371; /* aarch64_simd_fmlsl_highv2sf */

        case 1:
          if (pattern788 (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 8496 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return 4368; /* aarch64_simd_fmlslq_lowv4sf */
          if (!vect_par_cnst_hi_half (operands[4], E_V8HFmode)
              || !vect_par_cnst_hi_half (operands[5], E_V8HFmode)
              || !
#line 8531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
            return -1;
          return 4372; /* aarch64_simd_fmlslq_highv4sf */

        case 2:
          if (pattern883 (x2, E_V2SFmode, E_V2HFmode, E_V4HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V4HFmode))
            {
              switch (pattern958 ())
                {
                case 0:
                  if (
#line 8609 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4374; /* aarch64_simd_fmlsl_lane_lowv2sf */
                  break;

                case 1:
                  if (
#line 8839 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4382; /* aarch64_simd_fmlsl_laneq_lowv2sf */
                  break;

                default:
                  break;
                }
            }
          if (!vect_par_cnst_hi_half (operands[4], E_V4HFmode))
            return -1;
          switch (pattern958 ())
            {
            case 0:
              if (!
#line 8646 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4376; /* aarch64_simd_fmlsl_lane_highv2sf */

            case 1:
              if (!
#line 8876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4384; /* aarch64_simd_fmlsl_laneq_highv2sf */

            default:
              return -1;
            }

        case 3:
          if (pattern883 (x2, E_V4SFmode, E_V4HFmode, E_V8HFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[4], E_V8HFmode))
            {
              switch (pattern959 ())
                {
                case 0:
                  if (
#line 8723 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4378; /* aarch64_simd_fmlslq_laneq_lowv4sf */
                  break;

                case 1:
                  if (
#line 8953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                    return 4386; /* aarch64_simd_fmlslq_lane_lowv4sf */
                  break;

                default:
                  break;
                }
            }
          if (!vect_par_cnst_hi_half (operands[4], E_V8HFmode))
            return -1;
          switch (pattern959 ())
            {
            case 0:
              if (!
#line 8760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4380; /* aarch64_simd_fmlslq_laneq_highv4sf */

            case 1:
              if (!
#line 8990 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_F16FML))
                return -1;
              return 4388; /* aarch64_simd_fmlslq_lane_highv4sf */

            default:
              return -1;
            }

        default:
          return -1;
        }

    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;
  int res ATTRIBUTE_UNUSED;
  switch (GET_MODE (operands[0]))
    {
    case E_VNx16QImode:
      if (!register_operand (operands[0], E_VNx16QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx16QImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_QImode:
          if (!aarch64_sve_dup_operand (operands[1], E_QImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5188; /* *vec_duplicatevnx16qi_reg */

        case E_V16QImode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V16QImode)
              || !
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          *pnum_clobbers = 1;
          return 5207; /* aarch64_vec_duplicate_vqvnx16qi_le */

        default:
          return -1;
        }

    case E_VNx8QImode:
      if (!register_operand (operands[0], E_VNx8QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx8QImode
          || !aarch64_sve_dup_operand (operands[1], E_QImode)
          || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 5189; /* *vec_duplicatevnx8qi_reg */

    case E_VNx4QImode:
      if (!register_operand (operands[0], E_VNx4QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx4QImode
          || !aarch64_sve_dup_operand (operands[1], E_QImode)
          || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 5190; /* *vec_duplicatevnx4qi_reg */

    case E_VNx2QImode:
      if (!register_operand (operands[0], E_VNx2QImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx2QImode
          || !aarch64_sve_dup_operand (operands[1], E_QImode)
          || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 5191; /* *vec_duplicatevnx2qi_reg */

    case E_VNx8HImode:
      if (!register_operand (operands[0], E_VNx8HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx8HImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_HImode:
          if (!aarch64_sve_dup_operand (operands[1], E_HImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5192; /* *vec_duplicatevnx8hi_reg */

        case E_V8HImode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V8HImode)
              || !
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          *pnum_clobbers = 1;
          return 5208; /* aarch64_vec_duplicate_vqvnx8hi_le */

        default:
          return -1;
        }

    case E_VNx4HImode:
      if (!register_operand (operands[0], E_VNx4HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx4HImode
          || !aarch64_sve_dup_operand (operands[1], E_HImode)
          || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 5193; /* *vec_duplicatevnx4hi_reg */

    case E_VNx2HImode:
      if (!register_operand (operands[0], E_VNx2HImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx2HImode
          || !aarch64_sve_dup_operand (operands[1], E_HImode)
          || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 5194; /* *vec_duplicatevnx2hi_reg */

    case E_VNx8HFmode:
      if (!register_operand (operands[0], E_VNx8HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx8HFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_HFmode:
          if (!aarch64_sve_dup_operand (operands[1], E_HFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5195; /* *vec_duplicatevnx8hf_reg */

        case E_V8HFmode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V8HFmode)
              || !
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          *pnum_clobbers = 1;
          return 5212; /* aarch64_vec_duplicate_vqvnx8hf_le */

        default:
          return -1;
        }

    case E_VNx4HFmode:
      if (!register_operand (operands[0], E_VNx4HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx4HFmode
          || !aarch64_sve_dup_operand (operands[1], E_HFmode)
          || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 5196; /* *vec_duplicatevnx4hf_reg */

    case E_VNx2HFmode:
      if (!register_operand (operands[0], E_VNx2HFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx2HFmode
          || !aarch64_sve_dup_operand (operands[1], E_HFmode)
          || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 5197; /* *vec_duplicatevnx2hf_reg */

    case E_VNx8BFmode:
      if (!register_operand (operands[0], E_VNx8BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx8BFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_BFmode:
          if (!aarch64_sve_dup_operand (operands[1], E_BFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5198; /* *vec_duplicatevnx8bf_reg */

        case E_V8BFmode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V8BFmode)
              || !
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          *pnum_clobbers = 1;
          return 5211; /* aarch64_vec_duplicate_vqvnx8bf_le */

        default:
          return -1;
        }

    case E_VNx4BFmode:
      if (!register_operand (operands[0], E_VNx4BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx4BFmode
          || !aarch64_sve_dup_operand (operands[1], E_BFmode)
          || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 5199; /* *vec_duplicatevnx4bf_reg */

    case E_VNx2BFmode:
      if (!register_operand (operands[0], E_VNx2BFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx2BFmode
          || !aarch64_sve_dup_operand (operands[1], E_BFmode)
          || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 5200; /* *vec_duplicatevnx2bf_reg */

    case E_VNx4SImode:
      if (!register_operand (operands[0], E_VNx4SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx4SImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_SImode:
          if (!aarch64_sve_dup_operand (operands[1], E_SImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5201; /* *vec_duplicatevnx4si_reg */

        case E_V4SImode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V4SImode)
              || !
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          *pnum_clobbers = 1;
          return 5209; /* aarch64_vec_duplicate_vqvnx4si_le */

        default:
          return -1;
        }

    case E_VNx2SImode:
      if (!register_operand (operands[0], E_VNx2SImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx2SImode
          || !aarch64_sve_dup_operand (operands[1], E_SImode)
          || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 5202; /* *vec_duplicatevnx2si_reg */

    case E_VNx4SFmode:
      if (!register_operand (operands[0], E_VNx4SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx4SFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_SFmode:
          if (!aarch64_sve_dup_operand (operands[1], E_SFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5203; /* *vec_duplicatevnx4sf_reg */

        case E_V4SFmode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V4SFmode)
              || !
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          *pnum_clobbers = 1;
          return 5213; /* aarch64_vec_duplicate_vqvnx4sf_le */

        default:
          return -1;
        }

    case E_VNx2SFmode:
      if (!register_operand (operands[0], E_VNx2SFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx2SFmode
          || !aarch64_sve_dup_operand (operands[1], E_SFmode)
          || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      *pnum_clobbers = 1;
      return 5204; /* *vec_duplicatevnx2sf_reg */

    case E_VNx2DImode:
      if (!register_operand (operands[0], E_VNx2DImode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx2DImode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_DImode:
          if (!aarch64_sve_dup_operand (operands[1], E_DImode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5205; /* *vec_duplicatevnx2di_reg */

        case E_V2DImode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V2DImode)
              || !
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          *pnum_clobbers = 1;
          return 5210; /* aarch64_vec_duplicate_vqvnx2di_le */

        default:
          return -1;
        }

    case E_VNx2DFmode:
      if (!register_operand (operands[0], E_VNx2DFmode))
        return -1;
      x2 = XEXP (x1, 1);
      if (GET_MODE (x2) != E_VNx2DFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_DFmode:
          if (!aarch64_sve_dup_operand (operands[1], E_DFmode)
              || !
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          *pnum_clobbers = 1;
          return 5206; /* *vec_duplicatevnx2df_reg */

        case E_V2DFmode:
          if (!aarch64_sve_dup_ld1rq_operand (operands[1], E_V2DFmode)
              || !
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
            return -1;
          *pnum_clobbers = 1;
          return 5214; /* aarch64_vec_duplicate_vqvnx2df_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;
  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 (pattern546 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1241; /* aarch64_dup_lanev8qi */
                  break;

                case E_V16QImode:
                  if (register_operand (operands[1], E_V16QImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1255; /* aarch64_dup_lane_to_128v8qi */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V16QImode:
          if (pattern546 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1242; /* aarch64_dup_lanev16qi */
                  break;

                case E_V8QImode:
                  if (register_operand (operands[1], E_V8QImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1256; /* aarch64_dup_lane_to_64v16qi */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V4HImode:
          if (pattern546 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1243; /* aarch64_dup_lanev4hi */
                  break;

                case E_V8HImode:
                  if (register_operand (operands[1], E_V8HImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1257; /* aarch64_dup_lane_to_128v4hi */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V8HImode:
          if (pattern546 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1244; /* aarch64_dup_lanev8hi */
                  break;

                case E_V4HImode:
                  if (register_operand (operands[1], E_V4HImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1258; /* aarch64_dup_lane_to_64v8hi */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V2SImode:
          if (pattern546 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1245; /* aarch64_dup_lanev2si */
                  break;

                case E_V4SImode:
                  if (register_operand (operands[1], E_V4SImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1259; /* aarch64_dup_lane_to_128v2si */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V4SImode:
          if (pattern546 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1246; /* aarch64_dup_lanev4si */
                  break;

                case E_V2SImode:
                  if (register_operand (operands[1], E_V2SImode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1260; /* aarch64_dup_lane_to_64v4si */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V2DImode:
          if (pattern547 (x2, E_V2DImode, E_DImode) == 0
              && 
#line 94 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1247; /* aarch64_dup_lanev2di */
          break;

        case E_V4HFmode:
          if (pattern546 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1248; /* aarch64_dup_lanev4hf */
                  break;

                case E_V8HFmode:
                  if (register_operand (operands[1], E_V8HFmode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1261; /* aarch64_dup_lane_to_128v4hf */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V8HFmode:
          if (pattern546 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1249; /* aarch64_dup_lanev8hf */
                  break;

                case E_V4HFmode:
                  if (register_operand (operands[1], E_V4HFmode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1262; /* aarch64_dup_lane_to_64v8hf */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V4BFmode:
          if (pattern547 (x2, E_V4BFmode, E_BFmode) == 0
              && 
#line 94 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1250; /* aarch64_dup_lanev4bf */
          break;

        case E_V8BFmode:
          if (pattern547 (x2, E_V8BFmode, E_BFmode) == 0
              && 
#line 94 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1251; /* aarch64_dup_lanev8bf */
          break;

        case E_V2SFmode:
          if (pattern546 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1252; /* aarch64_dup_lanev2sf */
                  break;

                case E_V4SFmode:
                  if (register_operand (operands[1], E_V4SFmode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1263; /* aarch64_dup_lane_to_128v2sf */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V4SFmode:
          if (pattern546 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1253; /* aarch64_dup_lanev4sf */
                  break;

                case E_V2SFmode:
                  if (register_operand (operands[1], E_V2SFmode)
                      && 
#line 109 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 1264; /* aarch64_dup_lane_to_64v4sf */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_V2DFmode:
          if (pattern547 (x2, E_V2DFmode, E_DFmode) == 0
              && 
#line 94 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1254; /* aarch64_dup_lanev2df */
          break;

        case E_VNx16QImode:
          if (pattern548 (x2, E_VNx16QImode, E_QImode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 8 / 8, 0, 63)))
            return 8678; /* aarch64_sve_dup_lanevnx16qi */
          break;

        case E_VNx8QImode:
          if (pattern548 (x2, E_VNx8QImode, E_QImode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 16 / 8, 0, 63)))
            return 8679; /* aarch64_sve_dup_lanevnx8qi */
          break;

        case E_VNx4QImode:
          if (pattern548 (x2, E_VNx4QImode, E_QImode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8680; /* aarch64_sve_dup_lanevnx4qi */
          break;

        case E_VNx2QImode:
          if (pattern548 (x2, E_VNx2QImode, E_QImode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8681; /* aarch64_sve_dup_lanevnx2qi */
          break;

        case E_VNx8HImode:
          if (pattern548 (x2, E_VNx8HImode, E_HImode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 16 / 8, 0, 63)))
            return 8682; /* aarch64_sve_dup_lanevnx8hi */
          break;

        case E_VNx4HImode:
          if (pattern548 (x2, E_VNx4HImode, E_HImode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8683; /* aarch64_sve_dup_lanevnx4hi */
          break;

        case E_VNx2HImode:
          if (pattern548 (x2, E_VNx2HImode, E_HImode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8684; /* aarch64_sve_dup_lanevnx2hi */
          break;

        case E_VNx8HFmode:
          if (pattern548 (x2, E_VNx8HFmode, E_HFmode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 16 / 8, 0, 63)))
            return 8685; /* aarch64_sve_dup_lanevnx8hf */
          break;

        case E_VNx4HFmode:
          if (pattern548 (x2, E_VNx4HFmode, E_HFmode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8686; /* aarch64_sve_dup_lanevnx4hf */
          break;

        case E_VNx2HFmode:
          if (pattern548 (x2, E_VNx2HFmode, E_HFmode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8687; /* aarch64_sve_dup_lanevnx2hf */
          break;

        case E_VNx8BFmode:
          if (pattern548 (x2, E_VNx8BFmode, E_BFmode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 16 / 8, 0, 63)))
            return 8688; /* aarch64_sve_dup_lanevnx8bf */
          break;

        case E_VNx4BFmode:
          if (pattern548 (x2, E_VNx4BFmode, E_BFmode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8689; /* aarch64_sve_dup_lanevnx4bf */
          break;

        case E_VNx2BFmode:
          if (pattern548 (x2, E_VNx2BFmode, E_BFmode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8690; /* aarch64_sve_dup_lanevnx2bf */
          break;

        case E_VNx4SImode:
          if (pattern548 (x2, E_VNx4SImode, E_SImode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8691; /* aarch64_sve_dup_lanevnx4si */
          break;

        case E_VNx2SImode:
          if (pattern548 (x2, E_VNx2SImode, E_SImode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8692; /* aarch64_sve_dup_lanevnx2si */
          break;

        case E_VNx4SFmode:
          if (pattern548 (x2, E_VNx4SFmode, E_SFmode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 32 / 8, 0, 63)))
            return 8693; /* aarch64_sve_dup_lanevnx4sf */
          break;

        case E_VNx2SFmode:
          if (pattern548 (x2, E_VNx2SFmode, E_SFmode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8694; /* aarch64_sve_dup_lanevnx2sf */
          break;

        case E_VNx2DImode:
          if (pattern548 (x2, E_VNx2DImode, E_DImode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8695; /* aarch64_sve_dup_lanevnx2di */
          break;

        case E_VNx2DFmode:
          if (pattern548 (x2, E_VNx2DFmode, E_DFmode) == 0
              && 
#line 8702 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * 64 / 8, 0, 63)))
            return 8696; /* 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 2578 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5215; /* aarch64_vec_duplicate_vqvnx16qi_be */

        case E_VNx16QImode:
          if (!register_operand (operands[1], E_VNx16QImode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8697; /* 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 2578 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5216; /* aarch64_vec_duplicate_vqvnx8hi_be */

        case E_VNx8HImode:
          if (!register_operand (operands[1], E_VNx8HImode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8698; /* 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 2578 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5217; /* aarch64_vec_duplicate_vqvnx4si_be */

        case E_VNx4SImode:
          if (!register_operand (operands[1], E_VNx4SImode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8699; /* 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 2578 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5218; /* aarch64_vec_duplicate_vqvnx2di_be */

        case E_VNx2DImode:
          if (!register_operand (operands[1], E_VNx2DImode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8700; /* 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 2578 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5219; /* aarch64_vec_duplicate_vqvnx8bf_be */

        case E_VNx8BFmode:
          if (!register_operand (operands[1], E_VNx8BFmode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8701; /* 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 2578 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5220; /* aarch64_vec_duplicate_vqvnx8hf_be */

        case E_VNx8HFmode:
          if (!register_operand (operands[1], E_VNx8HFmode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8702; /* 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 2578 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5221; /* aarch64_vec_duplicate_vqvnx4sf_be */

        case E_VNx4SFmode:
          if (!register_operand (operands[1], E_VNx4SFmode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8703; /* 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 2578 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5222; /* aarch64_vec_duplicate_vqvnx2df_be */

        case E_VNx2DFmode:
          if (!register_operand (operands[1], E_VNx2DFmode)
              || !ascending_int_parallel (operands[2], E_VOIDmode)
              || !
#line 8730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8704; /* aarch64_sve_dupq_lanevnx2df */

        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;
  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 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0))
                    return 1279; /* aarch64_store_lane0v8qi */
                  break;

                case E_V16QImode:
                  if (register_operand (operands[1], E_V16QImode)
                      && 
#line 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (16, INTVAL (operands[2])) == 0))
                    return 1280; /* 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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2591; /* aarch64_get_lanev8qi */
                  break;

                case E_V16QImode:
                  if (register_operand (operands[1], E_V16QImode)
                      && 
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2592; /* 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 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0))
                    return 1281; /* aarch64_store_lane0v4hi */
                  break;

                case E_V8HImode:
                  if (register_operand (operands[1], E_V8HImode)
                      && 
#line 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0))
                    return 1282; /* 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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2593; /* aarch64_get_lanev4hi */
                  break;

                case E_V8HImode:
                  if (register_operand (operands[1], E_V8HImode)
                      && 
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2594; /* 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 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0))
                    return 1283; /* aarch64_store_lane0v2si */
                  break;

                case E_V4SImode:
                  if (register_operand (operands[1], E_V4SImode)
                      && 
#line 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0))
                    return 1284; /* 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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2595; /* aarch64_get_lanev2si */
                  break;

                case E_V4SImode:
                  if (register_operand (operands[1], E_V4SImode)
                      && 
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2596; /* 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 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0))
            return 1285; /* aarch64_store_lane0v2di */
          if (aarch64_simd_nonimmediate_operand (operands[0], E_DImode)
              && immediate_operand (operands[2], E_SImode))
            {
              if (
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2597; /* aarch64_get_lanev2di */
              if (
#line 4257 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 1))
                return 2605; /* *aarch64_get_highv2di */
            }
        }
      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 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0))
                    return 1286; /* aarch64_store_lane0v4hf */
                  break;

                case E_V8HFmode:
                  if (register_operand (operands[1], E_V8HFmode)
                      && 
#line 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0))
                    return 1287; /* 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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2598; /* aarch64_get_lanev4hf */
                  break;

                case E_V8HFmode:
                  if (register_operand (operands[1], E_V8HFmode)
                      && 
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2599; /* 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 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0))
                    return 1288; /* aarch64_store_lane0v4bf */
                  break;

                case E_V8BFmode:
                  if (register_operand (operands[1], E_V8BFmode)
                      && 
#line 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0))
                    return 1289; /* 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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2600; /* aarch64_get_lanev4bf */
                  break;

                case E_V8BFmode:
                  if (register_operand (operands[1], E_V8BFmode)
                      && 
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2601; /* 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 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0))
                    return 1290; /* aarch64_store_lane0v2sf */
                  break;

                case E_V4SFmode:
                  if (register_operand (operands[1], E_V4SFmode)
                      && 
#line 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0))
                    return 1291; /* 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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2602; /* aarch64_get_lanev2sf */
                  break;

                case E_V4SFmode:
                  if (register_operand (operands[1], E_V4SFmode)
                      && 
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2603; /* 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 198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD
   && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0))
            return 1292; /* aarch64_store_lane0v2df */
          if (aarch64_simd_nonimmediate_operand (operands[0], E_DFmode)
              && immediate_operand (operands[2], E_SImode))
            {
              if (
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2604; /* aarch64_get_lanev2df */
              if (
#line 4257 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 1))
                return 2606; /* *aarch64_get_highv2df */
            }
        }
      break;

    default:
      break;
    }
  if (GET_CODE (x4) != CONST_INT)
    return -1;
  if (XWINT (x4, 0) == 0L)
    {
      switch (pattern459 (x2))
        {
        case 0:
          if (
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5286; /* *vec_extractvnx16qiqi_0 */
          break;

        case 1:
          if (
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5287; /* *vec_extractvnx8hihi_0 */
          break;

        case 2:
          if (
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5288; /* *vec_extractvnx4sisi_0 */
          break;

        case 3:
          if (
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5289; /* *vec_extractvnx2didi_0 */
          break;

        case 4:
          if (
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5290; /* *vec_extractvnx8bfbf_0 */
          break;

        case 5:
          if (
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5291; /* *vec_extractvnx8hfhf_0 */
          break;

        case 6:
          if (
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5292; /* *vec_extractvnx4sfsf_0 */
          break;

        case 7:
          if (
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 5293; /* *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 2817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (QImode), 1, 15)))
        return 5294; /* *vec_extractvnx16qiqi_v128 */
      if (!register_operand (operands[0], E_QImode))
        return -1;
      if (
#line 2843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (QImode), 16, 63)))
        return 5302; /* *vec_extractvnx16qiqi_dup */
      if (!
#line 2858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (QImode) >= 64))
        return -1;
      return 5310; /* *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 2817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (HImode), 1, 15)))
        return 5295; /* *vec_extractvnx8hihi_v128 */
      if (!register_operand (operands[0], E_HImode))
        return -1;
      if (
#line 2843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (HImode), 16, 63)))
        return 5303; /* *vec_extractvnx8hihi_dup */
      if (!
#line 2858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (HImode) >= 64))
        return -1;
      return 5311; /* *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 2817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (SImode), 1, 15)))
        return 5296; /* *vec_extractvnx4sisi_v128 */
      if (!register_operand (operands[0], E_SImode))
        return -1;
      if (
#line 2843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (SImode), 16, 63)))
        return 5304; /* *vec_extractvnx4sisi_dup */
      if (!
#line 2858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (SImode) >= 64))
        return -1;
      return 5312; /* *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 2817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (DImode), 1, 15)))
        return 5297; /* *vec_extractvnx2didi_v128 */
      if (!register_operand (operands[0], E_DImode))
        return -1;
      if (
#line 2843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (DImode), 16, 63)))
        return 5305; /* *vec_extractvnx2didi_dup */
      if (!
#line 2858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (DImode) >= 64))
        return -1;
      return 5313; /* *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 2817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (BFmode), 1, 15)))
        return 5298; /* *vec_extractvnx8bfbf_v128 */
      if (!register_operand (operands[0], E_BFmode))
        return -1;
      if (
#line 2843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (BFmode), 16, 63)))
        return 5306; /* *vec_extractvnx8bfbf_dup */
      if (!
#line 2858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (BFmode) >= 64))
        return -1;
      return 5314; /* *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 2817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (HFmode), 1, 15)))
        return 5299; /* *vec_extractvnx8hfhf_v128 */
      if (!register_operand (operands[0], E_HFmode))
        return -1;
      if (
#line 2843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (HFmode), 16, 63)))
        return 5307; /* *vec_extractvnx8hfhf_dup */
      if (!
#line 2858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (HFmode) >= 64))
        return -1;
      return 5315; /* *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 2817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (SFmode), 1, 15)))
        return 5300; /* *vec_extractvnx4sfsf_v128 */
      if (!register_operand (operands[0], E_SFmode))
        return -1;
      if (
#line 2843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (SFmode), 16, 63)))
        return 5308; /* *vec_extractvnx4sfsf_dup */
      if (!
#line 2858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (SFmode) >= 64))
        return -1;
      return 5316; /* *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 2817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (DFmode), 1, 15)))
        return 5301; /* *vec_extractvnx2dfdf_v128 */
      if (!register_operand (operands[0], E_DFmode))
        return -1;
      if (
#line 2843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (DFmode), 16, 63)))
        return 5309; /* *vec_extractvnx2dfdf_dup */
      if (!
#line 2858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && INTVAL (operands[2]) * GET_MODE_SIZE (DFmode) >= 64))
        return -1;
      return 5317; /* *vec_extractvnx2dfdf_ext */

    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;
  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 (pattern550 (x2, E_V8QImode, E_V16QImode) == 0
              && 
#line 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && aarch64_mergeable_load_pair_p (V16QImode, operands[1], operands[2])))
            return 2607; /* load_pair_lanesv8qi */
          break;

        case E_V8HImode:
          if (pattern550 (x2, E_V4HImode, E_V8HImode) == 0
              && 
#line 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && aarch64_mergeable_load_pair_p (V8HImode, operands[1], operands[2])))
            return 2608; /* load_pair_lanesv4hi */
          break;

        case E_V8BFmode:
          if (pattern550 (x2, E_V4BFmode, E_V8BFmode) == 0
              && 
#line 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && aarch64_mergeable_load_pair_p (V8BFmode, operands[1], operands[2])))
            return 2609; /* load_pair_lanesv4bf */
          break;

        case E_V8HFmode:
          if (pattern550 (x2, E_V4HFmode, E_V8HFmode) == 0
              && 
#line 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && aarch64_mergeable_load_pair_p (V8HFmode, operands[1], operands[2])))
            return 2610; /* load_pair_lanesv4hf */
          break;

        case E_V4SImode:
          if (pattern550 (x2, E_V2SImode, E_V4SImode) == 0
              && 
#line 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && aarch64_mergeable_load_pair_p (V4SImode, operands[1], operands[2])))
            return 2611; /* load_pair_lanesv2si */
          break;

        case E_V4SFmode:
          if (pattern550 (x2, E_V2SFmode, E_V4SFmode) == 0
              && 
#line 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && aarch64_mergeable_load_pair_p (V4SFmode, operands[1], operands[2])))
            return 2612; /* load_pair_lanesv2sf */
          break;

        case E_V2SImode:
          if (pattern550 (x2, E_SImode, E_V2SImode) == 0
              && 
#line 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && aarch64_mergeable_load_pair_p (V2SImode, operands[1], operands[2])))
            return 2613; /* load_pair_lanessi */
          break;

        case E_V2SFmode:
          if (pattern550 (x2, E_SFmode, E_V2SFmode) == 0
              && 
#line 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && aarch64_mergeable_load_pair_p (V2SFmode, operands[1], operands[2])))
            return 2614; /* load_pair_lanessf */
          break;

        case E_V2DImode:
          if (pattern550 (x2, E_DImode, E_V2DImode) == 0
              && 
#line 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && aarch64_mergeable_load_pair_p (V2DImode, operands[1], operands[2])))
            return 2615; /* load_pair_lanesdi */
          break;

        case E_V2DFmode:
          if (pattern550 (x2, E_DFmode, E_V2DFmode) == 0
              && 
#line 4267 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && aarch64_mergeable_load_pair_p (V2DFmode, operands[1], operands[2])))
            return 2616; /* load_pair_lanesdf */
          break;

        default:
          break;
        }
      break;

    case MEM:
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (pattern551 (x2, E_V8QImode, E_V16QImode) == 0
              && 
#line 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
            return 2617; /* store_pair_lanesv8qi */
          break;

        case E_V8HImode:
          if (pattern551 (x2, E_V4HImode, E_V8HImode) == 0
              && 
#line 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
            return 2618; /* store_pair_lanesv4hi */
          break;

        case E_V8BFmode:
          if (pattern551 (x2, E_V4BFmode, E_V8BFmode) == 0
              && 
#line 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
            return 2619; /* store_pair_lanesv4bf */
          break;

        case E_V8HFmode:
          if (pattern551 (x2, E_V4HFmode, E_V8HFmode) == 0
              && 
#line 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
            return 2620; /* store_pair_lanesv4hf */
          break;

        case E_V4SImode:
          if (pattern551 (x2, E_V2SImode, E_V4SImode) == 0
              && 
#line 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
            return 2621; /* store_pair_lanesv2si */
          break;

        case E_V4SFmode:
          if (pattern551 (x2, E_V2SFmode, E_V4SFmode) == 0
              && 
#line 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
            return 2622; /* store_pair_lanesv2sf */
          break;

        case E_V2SImode:
          if (pattern551 (x2, E_SImode, E_V2SImode) == 0
              && 
#line 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
            return 2623; /* store_pair_lanessi */
          break;

        case E_V2SFmode:
          if (pattern551 (x2, E_SFmode, E_V2SFmode) == 0
              && 
#line 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
            return 2624; /* store_pair_lanessf */
          break;

        case E_V2DImode:
          if (pattern551 (x2, E_DImode, E_V2DImode) == 0
              && 
#line 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
            return 2625; /* store_pair_lanesdi */
          break;

        case E_V2DFmode:
          if (pattern551 (x2, E_DFmode, E_V2DFmode) == 0
              && 
#line 4297 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
            return 2626; /* 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 4316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V16QImode)
       || register_operand (operands[2], V8QImode))))
            return 2627; /* *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 4337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V16QImode)
       || register_operand (operands[2], V8QImode))))
        return -1;
      return 2637; /* *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 4316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8HImode)
       || register_operand (operands[2], V4HImode))))
            return 2628; /* *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 4337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8HImode)
       || register_operand (operands[2], V4HImode))))
        return -1;
      return 2638; /* *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 4316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8BFmode)
       || register_operand (operands[2], V4BFmode))))
            return 2629; /* *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 4337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8BFmode)
       || register_operand (operands[2], V4BFmode))))
        return -1;
      return 2639; /* *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 4316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8HFmode)
       || register_operand (operands[2], V4HFmode))))
            return 2630; /* *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 4337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V8HFmode)
       || register_operand (operands[2], V4HFmode))))
        return -1;
      return 2640; /* *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 4316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4SImode)
       || register_operand (operands[2], V2SImode))))
            return 2631; /* *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 4337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4SImode)
       || register_operand (operands[2], V2SImode))))
        return -1;
      return 2641; /* *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 4316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4SFmode)
       || register_operand (operands[2], V2SFmode))))
            return 2632; /* *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 4337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V4SFmode)
       || register_operand (operands[2], V2SFmode))))
        return -1;
      return 2642; /* *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 4316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2SImode)
       || register_operand (operands[2], SImode))))
            return 2633; /* *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 4337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2SImode)
       || register_operand (operands[2], SImode))))
        return -1;
      return 2643; /* *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 4316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2SFmode)
       || register_operand (operands[2], SFmode))))
            return 2634; /* *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 4337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2SFmode)
       || register_operand (operands[2], SFmode))))
        return -1;
      return 2644; /* *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 4316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2DImode)
       || register_operand (operands[2], DImode))))
            return 2635; /* *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 4337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2DImode)
       || register_operand (operands[2], DImode))))
        return -1;
      return 2645; /* *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 4316 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && !BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2DFmode)
       || register_operand (operands[2], DFmode))))
            return 2636; /* *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 4337 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && BYTES_BIG_ENDIAN
   && (register_operand (operands[0], V2DFmode)
       || register_operand (operands[2], DFmode))))
        return -1;
      return 2646; /* *aarch64_combine_internal_bedf */

    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;
  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 (pattern352 (x2))
            {
            case 0:
              if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2003; /* aarch64_xtn2v8hi_insn_le */

            case 1:
              if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2004; /* aarch64_xtn2v4si_insn_le */

            case 2:
              if (!
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2005; /* aarch64_xtn2v2di_insn_le */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern451 (x2))
            {
            case 0:
              if (!
#line 1781 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2024; /* *aarch64_rshrnv8hi2_vect_le */

            case 1:
              if (!
#line 1781 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2026; /* *aarch64_rshrnv4si2_vect_le */

            case 2:
              if (!
#line 1781 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2028; /* *aarch64_rshrnv2di2_vect_le */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern451 (x2))
            {
            case 0:
              if (!
#line 1781 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2025; /* *aarch64_shrnv8hi2_vect_le */

            case 1:
              if (!
#line 1781 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2027; /* *aarch64_shrnv4si2_vect_le */

            case 2:
              if (!
#line 1781 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2029; /* *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 103:
              switch (pattern615 (x2))
                {
                case 0:
                  if (!
#line 1962 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2060; /* aarch64_rshrn2v8hi_insn_le */

                case 1:
                  if (!
#line 1962 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2061; /* aarch64_rshrn2v4si_insn_le */

                case 2:
                  if (!
#line 1962 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2062; /* aarch64_rshrn2v2di_insn_le */

                default:
                  return -1;
                }

            case 189:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern655 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2799; /* aarch64_addhn2v8hi_insn_le */

                case E_V8HImode:
                  if (pattern655 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2803; /* aarch64_addhn2v4si_insn_le */

                case E_V4SImode:
                  if (pattern655 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2807; /* aarch64_addhn2v2di_insn_le */

                default:
                  return -1;
                }

            case 190:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern655 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2800; /* aarch64_raddhn2v8hi_insn_le */

                case E_V8HImode:
                  if (pattern655 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2804; /* aarch64_raddhn2v4si_insn_le */

                case E_V4SImode:
                  if (pattern655 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2808; /* aarch64_raddhn2v2di_insn_le */

                default:
                  return -1;
                }

            case 191:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern655 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2801; /* aarch64_subhn2v8hi_insn_le */

                case E_V8HImode:
                  if (pattern655 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2805; /* aarch64_subhn2v4si_insn_le */

                case E_V4SImode:
                  if (pattern655 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2809; /* aarch64_subhn2v2di_insn_le */

                default:
                  return -1;
                }

            case 192:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern655 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2802; /* aarch64_rsubhn2v8hi_insn_le */

                case E_V8HImode:
                  if (pattern655 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2806; /* aarch64_rsubhn2v4si_insn_le */

                case E_V4SImode:
                  if (pattern655 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2810; /* aarch64_rsubhn2v2di_insn_le */

                default:
                  return -1;
                }

            case 209:
              switch (pattern615 (x2))
                {
                case 0:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3397; /* aarch64_sqshrun2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3403; /* aarch64_sqshrun2_nv4si_insn_le */

                case 2:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3409; /* aarch64_sqshrun2_nv2di_insn_le */

                default:
                  return -1;
                }

            case 210:
              switch (pattern615 (x2))
                {
                case 0:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3398; /* aarch64_sqrshrun2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3404; /* aarch64_sqrshrun2_nv4si_insn_le */

                case 2:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3410; /* aarch64_sqrshrun2_nv2di_insn_le */

                default:
                  return -1;
                }

            case 211:
              switch (pattern615 (x2))
                {
                case 0:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3399; /* aarch64_sqshrn2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3405; /* aarch64_sqshrn2_nv4si_insn_le */

                case 2:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3411; /* aarch64_sqshrn2_nv2di_insn_le */

                default:
                  return -1;
                }

            case 212:
              switch (pattern615 (x2))
                {
                case 0:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3400; /* aarch64_uqshrn2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3406; /* aarch64_uqshrn2_nv4si_insn_le */

                case 2:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3412; /* aarch64_uqshrn2_nv2di_insn_le */

                default:
                  return -1;
                }

            case 213:
              switch (pattern615 (x2))
                {
                case 0:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3401; /* aarch64_sqrshrn2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3407; /* aarch64_sqrshrn2_nv4si_insn_le */

                case 2:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3413; /* aarch64_sqrshrn2_nv2di_insn_le */

                default:
                  return -1;
                }

            case 214:
              switch (pattern615 (x2))
                {
                case 0:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3402; /* aarch64_uqrshrn2_nv8hi_insn_le */

                case 1:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3408; /* aarch64_uqrshrn2_nv4si_insn_le */

                case 2:
                  if (!
#line 6458 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3414; /* 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 530:
              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 3262 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2417; /* aarch64_float_trunc_rodd_hi_v4sf_le */

            case 199:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern616 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 5206 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2956; /* aarch64_sqxtun2v8hi_le */

                case E_V8HImode:
                  if (pattern616 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 5206 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2957; /* aarch64_sqxtun2v4si_le */

                case E_V4SImode:
                  if (pattern616 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 5206 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2958; /* 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 (pattern351 (x2, E_V2DFmode, E_V2SFmode, E_V4SFmode) != 0
              || !
#line 3307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2421; /* aarch64_float_truncate_hi_v4sf_le */

        case E_V8HFmode:
          if (pattern351 (x2, E_V4SFmode, E_V4HFmode, E_V8HFmode) != 0
              || !
#line 3307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2422; /* aarch64_float_truncate_hi_v8hf_le */

        default:
          return -1;
        }

    case REG:
    case SUBREG:
    case MEM:
      return recog_409 (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 (pattern508 (x2, E_V8QImode, E_V16QImode) != 0
              || !
#line 4360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && !BYTES_BIG_ENDIAN))
            return -1;
          return 2647; /* *aarch64_combinezv8qi */

        case E_V8HImode:
          if (pattern508 (x2, E_V4HImode, E_V8HImode) != 0
              || !
#line 4360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && !BYTES_BIG_ENDIAN))
            return -1;
          return 2648; /* *aarch64_combinezv4hi */

        case E_V8BFmode:
          if (pattern508 (x2, E_V4BFmode, E_V8BFmode) != 0
              || !
#line 4360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && !BYTES_BIG_ENDIAN))
            return -1;
          return 2649; /* *aarch64_combinezv4bf */

        case E_V8HFmode:
          if (pattern508 (x2, E_V4HFmode, E_V8HFmode) != 0
              || !
#line 4360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && !BYTES_BIG_ENDIAN))
            return -1;
          return 2650; /* *aarch64_combinezv4hf */

        case E_V4SImode:
          if (pattern508 (x2, E_V2SImode, E_V4SImode) != 0
              || !
#line 4360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && !BYTES_BIG_ENDIAN))
            return -1;
          return 2651; /* *aarch64_combinezv2si */

        case E_V4SFmode:
          if (pattern508 (x2, E_V2SFmode, E_V4SFmode) != 0
              || !
#line 4360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && !BYTES_BIG_ENDIAN))
            return -1;
          return 2652; /* *aarch64_combinezv2sf */

        case E_V2SImode:
          if (pattern508 (x2, E_SImode, E_V2SImode) != 0
              || !
#line 4360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && !BYTES_BIG_ENDIAN))
            return -1;
          return 2653; /* *aarch64_combinezsi */

        case E_V2SFmode:
          if (pattern508 (x2, E_SFmode, E_V2SFmode) != 0
              || !
#line 4360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && !BYTES_BIG_ENDIAN))
            return -1;
          return 2654; /* *aarch64_combinezsf */

        case E_V2DImode:
          if (pattern508 (x2, E_DImode, E_V2DImode) != 0
              || !
#line 4360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && !BYTES_BIG_ENDIAN))
            return -1;
          return 2655; /* *aarch64_combinezdi */

        case E_V2DFmode:
          if (pattern508 (x2, E_DFmode, E_V2DFmode) != 0
              || !
#line 4360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && !BYTES_BIG_ENDIAN))
            return -1;
          return 2656; /* *aarch64_combinezdf */

        default:
          return -1;
        }

    case SS_TRUNCATE:
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (pattern352 (x2))
        {
        case 0:
          if (!
#line 5112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2935; /* aarch64_sqxtn2v8hi_le */

        case 1:
          if (!
#line 5112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2937; /* aarch64_sqxtn2v4si_le */

        case 2:
          if (!
#line 5112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2939; /* aarch64_sqxtn2v2di_le */

        default:
          return -1;
        }

    case US_TRUNCATE:
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      switch (pattern352 (x2))
        {
        case 0:
          if (!
#line 5112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2936; /* aarch64_uqxtn2v8hi_le */

        case 1:
          if (!
#line 5112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2938; /* aarch64_uqxtn2v4si_le */

        case 2:
          if (!
#line 5112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
            return -1;
          return 2940; /* aarch64_uqxtn2v2di_le */

        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, 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 (pattern273 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                  || !
#line 1622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2000; /* aarch64_xtnv8hi_insn_be */

            case E_V8HImode:
              if (pattern273 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                  || !
#line 1622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2001; /* aarch64_xtnv4si_insn_be */

            case E_V4SImode:
              if (pattern273 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                  || !
#line 1622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2002; /* 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 (pattern612 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                  || !aarch64_simd_shift_imm_vec_qi (operands[2], E_V8HImode)
                  || !
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2015; /* aarch64_shrnv8hi_insn_be */

            case E_V8HImode:
              if (pattern612 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                  || !aarch64_simd_shift_imm_vec_hi (operands[2], E_V4SImode)
                  || !
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2016; /* aarch64_shrnv4si_insn_be */

            case E_V4SImode:
              if (pattern612 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                  || !aarch64_simd_shift_imm_vec_si (operands[2], E_V2DImode)
                  || !
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2017; /* 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 103:
              switch (pattern613 (x2))
                {
                case 0:
                  if (!
#line 1870 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2051; /* aarch64_rshrnv8hi_insn_be */

                case 1:
                  if (!
#line 1870 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2052; /* aarch64_rshrnv4si_insn_be */

                case 2:
                  if (!
#line 1870 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2053; /* aarch64_rshrnv2di_insn_be */

                default:
                  return -1;
                }

            case 189:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern654 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2787; /* aarch64_addhnv8hi_insn_be */

                case E_V8HImode:
                  if (pattern654 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2791; /* aarch64_addhnv4si_insn_be */

                case E_V4SImode:
                  if (pattern654 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2795; /* aarch64_addhnv2di_insn_be */

                default:
                  return -1;
                }

            case 190:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern654 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2788; /* aarch64_raddhnv8hi_insn_be */

                case E_V8HImode:
                  if (pattern654 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2792; /* aarch64_raddhnv4si_insn_be */

                case E_V4SImode:
                  if (pattern654 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2796; /* aarch64_raddhnv2di_insn_be */

                default:
                  return -1;
                }

            case 191:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern654 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2789; /* aarch64_subhnv8hi_insn_be */

                case E_V8HImode:
                  if (pattern654 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2793; /* aarch64_subhnv4si_insn_be */

                case E_V4SImode:
                  if (pattern654 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2797; /* aarch64_subhnv2di_insn_be */

                default:
                  return -1;
                }

            case 192:
              switch (GET_MODE (operands[0]))
                {
                case E_V16QImode:
                  if (pattern654 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2790; /* aarch64_rsubhnv8hi_insn_be */

                case E_V8HImode:
                  if (pattern654 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2794; /* aarch64_rsubhnv4si_insn_be */

                case E_V4SImode:
                  if (pattern654 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 4800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2798; /* aarch64_rsubhnv2di_insn_be */

                default:
                  return -1;
                }

            case 209:
              switch (pattern613 (x2))
                {
                case 0:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3379; /* aarch64_sqshrun_nv8hi_insn_be */

                case 1:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3385; /* aarch64_sqshrun_nv4si_insn_be */

                case 2:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3391; /* aarch64_sqshrun_nv2di_insn_be */

                default:
                  return -1;
                }

            case 210:
              switch (pattern613 (x2))
                {
                case 0:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3380; /* aarch64_sqrshrun_nv8hi_insn_be */

                case 1:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3386; /* aarch64_sqrshrun_nv4si_insn_be */

                case 2:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3392; /* aarch64_sqrshrun_nv2di_insn_be */

                default:
                  return -1;
                }

            case 211:
              switch (pattern613 (x2))
                {
                case 0:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3381; /* aarch64_sqshrn_nv8hi_insn_be */

                case 1:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3387; /* aarch64_sqshrn_nv4si_insn_be */

                case 2:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3393; /* aarch64_sqshrn_nv2di_insn_be */

                default:
                  return -1;
                }

            case 212:
              switch (pattern613 (x2))
                {
                case 0:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3382; /* aarch64_uqshrn_nv8hi_insn_be */

                case 1:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3388; /* aarch64_uqshrn_nv4si_insn_be */

                case 2:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3394; /* aarch64_uqshrn_nv2di_insn_be */

                default:
                  return -1;
                }

            case 213:
              switch (pattern613 (x2))
                {
                case 0:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3383; /* aarch64_sqrshrn_nv8hi_insn_be */

                case 1:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3389; /* aarch64_sqrshrn_nv4si_insn_be */

                case 2:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3395; /* aarch64_sqrshrn_nv2di_insn_be */

                default:
                  return -1;
                }

            case 214:
              switch (pattern613 (x2))
                {
                case 0:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3384; /* aarch64_uqrshrn_nv8hi_insn_be */

                case 1:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3390; /* aarch64_uqrshrn_nv4si_insn_be */

                case 2:
                  if (!
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3396; /* aarch64_uqrshrn_nv2di_insn_be */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 1:
          if (XINT (x3, 1) != 199)
            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 (pattern614 (x2, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                  || !
#line 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2953; /* aarch64_sqmovunv8hi_insn_be */

            case E_V8HImode:
              if (pattern614 (x2, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                  || !
#line 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2954; /* aarch64_sqmovunv4si_insn_be */

            case E_V4SImode:
              if (pattern614 (x2, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                  || !
#line 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2955; /* 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 (pattern507 (x2, E_V8QImode, E_V16QImode) != 0
              || !
#line 4373 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && BYTES_BIG_ENDIAN))
            return -1;
          return 2657; /* *aarch64_combinez_bev8qi */

        case E_V8HImode:
          if (pattern507 (x2, E_V4HImode, E_V8HImode) != 0
              || !
#line 4373 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && BYTES_BIG_ENDIAN))
            return -1;
          return 2658; /* *aarch64_combinez_bev4hi */

        case E_V8BFmode:
          if (pattern507 (x2, E_V4BFmode, E_V8BFmode) != 0
              || !
#line 4373 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && BYTES_BIG_ENDIAN))
            return -1;
          return 2659; /* *aarch64_combinez_bev4bf */

        case E_V8HFmode:
          if (pattern507 (x2, E_V4HFmode, E_V8HFmode) != 0
              || !
#line 4373 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && BYTES_BIG_ENDIAN))
            return -1;
          return 2660; /* *aarch64_combinez_bev4hf */

        case E_V4SImode:
          if (pattern507 (x2, E_V2SImode, E_V4SImode) != 0
              || !
#line 4373 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && BYTES_BIG_ENDIAN))
            return -1;
          return 2661; /* *aarch64_combinez_bev2si */

        case E_V4SFmode:
          if (pattern507 (x2, E_V2SFmode, E_V4SFmode) != 0
              || !
#line 4373 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && BYTES_BIG_ENDIAN))
            return -1;
          return 2662; /* *aarch64_combinez_bev2sf */

        case E_V2SImode:
          if (pattern507 (x2, E_SImode, E_V2SImode) != 0
              || !
#line 4373 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && BYTES_BIG_ENDIAN))
            return -1;
          return 2663; /* *aarch64_combinez_besi */

        case E_V2SFmode:
          if (pattern507 (x2, E_SFmode, E_V2SFmode) != 0
              || !
#line 4373 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && BYTES_BIG_ENDIAN))
            return -1;
          return 2664; /* *aarch64_combinez_besf */

        case E_V2DImode:
          if (pattern507 (x2, E_DImode, E_V2DImode) != 0
              || !
#line 4373 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && BYTES_BIG_ENDIAN))
            return -1;
          return 2665; /* *aarch64_combinez_bedi */

        case E_V2DFmode:
          if (pattern507 (x2, E_DFmode, E_V2DFmode) != 0
              || !
#line 4373 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && BYTES_BIG_ENDIAN))
            return -1;
          return 2666; /* *aarch64_combinez_bedf */

        default:
          return -1;
        }

    case SS_TRUNCATE:
      switch (pattern274 (x2))
        {
        case 0:
          if (!
#line 5079 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2929; /* aarch64_sqmovnv8hi_insn_be */

        case 1:
          if (!
#line 5079 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2931; /* aarch64_sqmovnv4si_insn_be */

        case 2:
          if (!
#line 5079 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2933; /* aarch64_sqmovnv2di_insn_be */

        default:
          return -1;
        }

    case US_TRUNCATE:
      switch (pattern274 (x2))
        {
        case 0:
          if (!
#line 5079 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2930; /* aarch64_uqmovnv8hi_insn_be */

        case 1:
          if (!
#line 5079 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2932; /* aarch64_uqmovnv4si_insn_be */

        case 2:
          if (!
#line 5079 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2934; /* aarch64_uqmovnv2di_insn_be */

        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;
  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 (pattern276 (x3))
                {
                case 0:
                  if (!
#line 1612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1997; /* aarch64_xtnv8hi_insn_le */

                case 1:
                  if (!
#line 1612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1998; /* aarch64_xtnv4si_insn_le */

                case 2:
                  if (!
#line 1612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 1999; /* aarch64_xtnv2di_insn_le */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              switch (pattern278 (x3))
                {
                case 0:
                  if (!
#line 1663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2006; /* aarch64_xtn2v8hi_insn_be */

                case 1:
                  if (!
#line 1663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2007; /* aarch64_xtn2v4si_insn_be */

                case 2:
                  if (!
#line 1663 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2008; /* 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 (pattern549 (x3, E_V8HImode, E_V8QImode, E_V16QImode) != 0
                      || !
#line 1691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2009; /* *aarch64_narrow_truncv8hi */

                case E_V8HImode:
                  if (pattern549 (x3, E_V4SImode, E_V4HImode, E_V8HImode) != 0
                      || !
#line 1691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2010; /* *aarch64_narrow_truncv4si */

                case E_V4SImode:
                  if (pattern549 (x3, E_V2DImode, E_V2SImode, E_V4SImode) != 0
                      || !
#line 1691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2011; /* *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 (pattern611 (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 1747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2012; /* aarch64_shrnv8hi_insn_le */

                case E_V8HImode:
                  if (pattern611 (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 1747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2013; /* aarch64_shrnv4si_insn_le */

                case E_V4SImode:
                  if (pattern611 (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 1747 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2014; /* aarch64_shrnv2di_insn_le */

                default:
                  return -1;
                }

            case REG:
            case SUBREG:
              switch (pattern348 (x3))
                {
                case 0:
                  if (!
#line 1793 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2031; /* *aarch64_shrnv8hi2_vect_be */

                case 1:
                  if (!
#line 1793 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2033; /* *aarch64_shrnv4si2_vect_be */

                case 2:
                  if (!
#line 1793 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2035; /* *aarch64_shrnv2di2_vect_be */

                default:
                  return -1;
                }

            case TRUNCATE:
              switch (pattern350 (x3, LSHIFTRT))
                {
                case 0:
                  x7 = XEXP (x6, 0);
                  x10 = XEXP (x7, 0);
                  operands[3] = x10;
                  x8 = XEXP (x5, 0);
                  operands[1] = x8;
                  if (
#line 1807 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 2037; /* *aarch64_topbits_shufflev8hi_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2043; /* *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 1807 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 2039; /* *aarch64_topbits_shufflev4si_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2045; /* *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 1807 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 2041; /* *aarch64_topbits_shufflev2di_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2047; /* *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 (pattern348 (x3))
                {
                case 0:
                  if (!
#line 1793 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2030; /* *aarch64_rshrnv8hi2_vect_be */

                case 1:
                  if (!
#line 1793 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2032; /* *aarch64_rshrnv4si2_vect_be */

                case 2:
                  if (!
#line 1793 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2034; /* *aarch64_rshrnv2di2_vect_be */

                default:
                  return -1;
                }

            case TRUNCATE:
              switch (pattern350 (x3, ASHIFTRT))
                {
                case 0:
                  x7 = XEXP (x6, 0);
                  x10 = XEXP (x7, 0);
                  operands[3] = x10;
                  x8 = XEXP (x5, 0);
                  operands[1] = x8;
                  if (
#line 1807 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 2036; /* *aarch64_rtopbits_shufflev8hi_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2042; /* *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 1807 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 2038; /* *aarch64_rtopbits_shufflev4si_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2044; /* *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 1807 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return 2040; /* *aarch64_rtopbits_shufflev2di_le */
                  operands[1] = x10;
                  operands[3] = x8;
                  if (!
#line 1821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2046; /* *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_411 (x1, insn, pnum_clobbers);

    case REG:
    case SUBREG:
    case MEM:
      return recog_410 (x1, insn, pnum_clobbers);

    case UNSPEC:
      switch (XVECLEN (x4, 0))
        {
        case 2:
          switch (XINT (x4, 1))
            {
            case 103:
              switch (pattern353 (x3))
                {
                case 0:
                  if (!
#line 1858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2048; /* aarch64_rshrnv8hi_insn_le */

                case 1:
                  if (!
#line 1858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2049; /* aarch64_rshrnv4si_insn_le */

                case 2:
                  if (!
#line 1858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2050; /* aarch64_rshrnv2di_insn_le */

                case 3:
                  if (!
#line 1974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2063; /* aarch64_rshrn2v8hi_insn_be */

                case 4:
                  if (!
#line 1974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2064; /* aarch64_rshrn2v4si_insn_be */

                case 5:
                  if (!
#line 1974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2065; /* aarch64_rshrn2v2di_insn_be */

                default:
                  return -1;
                }

            case 189:
              switch (pattern356 (x3))
                {
                case 0:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2775; /* aarch64_addhnv8hi_insn_le */

                case 1:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2779; /* aarch64_addhnv4si_insn_le */

                case 2:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2783; /* aarch64_addhnv2di_insn_le */

                case 3:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2811; /* aarch64_addhn2v8hi_insn_be */

                case 4:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2815; /* aarch64_addhn2v4si_insn_be */

                case 5:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2819; /* aarch64_addhn2v2di_insn_be */

                default:
                  return -1;
                }

            case 190:
              switch (pattern356 (x3))
                {
                case 0:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2776; /* aarch64_raddhnv8hi_insn_le */

                case 1:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2780; /* aarch64_raddhnv4si_insn_le */

                case 2:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2784; /* aarch64_raddhnv2di_insn_le */

                case 3:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2812; /* aarch64_raddhn2v8hi_insn_be */

                case 4:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2816; /* aarch64_raddhn2v4si_insn_be */

                case 5:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2820; /* aarch64_raddhn2v2di_insn_be */

                default:
                  return -1;
                }

            case 191:
              switch (pattern356 (x3))
                {
                case 0:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2777; /* aarch64_subhnv8hi_insn_le */

                case 1:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2781; /* aarch64_subhnv4si_insn_le */

                case 2:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2785; /* aarch64_subhnv2di_insn_le */

                case 3:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2813; /* aarch64_subhn2v8hi_insn_be */

                case 4:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2817; /* aarch64_subhn2v4si_insn_be */

                case 5:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2821; /* aarch64_subhn2v2di_insn_be */

                default:
                  return -1;
                }

            case 192:
              switch (pattern356 (x3))
                {
                case 0:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2778; /* aarch64_rsubhnv8hi_insn_le */

                case 1:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2782; /* aarch64_rsubhnv4si_insn_le */

                case 2:
                  if (!
#line 4788 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 2786; /* aarch64_rsubhnv2di_insn_le */

                case 3:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2814; /* aarch64_rsubhn2v8hi_insn_be */

                case 4:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2818; /* aarch64_rsubhn2v4si_insn_be */

                case 5:
                  if (!
#line 4847 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 2822; /* aarch64_rsubhn2v2di_insn_be */

                default:
                  return -1;
                }

            case 209:
              switch (pattern353 (x3))
                {
                case 0:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3361; /* aarch64_sqshrun_nv8hi_insn_le */

                case 1:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3367; /* aarch64_sqshrun_nv4si_insn_le */

                case 2:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3373; /* aarch64_sqshrun_nv2di_insn_le */

                case 3:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3415; /* aarch64_sqshrun2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3421; /* aarch64_sqshrun2_nv4si_insn_be */

                case 5:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3427; /* aarch64_sqshrun2_nv2di_insn_be */

                default:
                  return -1;
                }

            case 210:
              switch (pattern353 (x3))
                {
                case 0:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3362; /* aarch64_sqrshrun_nv8hi_insn_le */

                case 1:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3368; /* aarch64_sqrshrun_nv4si_insn_le */

                case 2:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3374; /* aarch64_sqrshrun_nv2di_insn_le */

                case 3:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3416; /* aarch64_sqrshrun2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3422; /* aarch64_sqrshrun2_nv4si_insn_be */

                case 5:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3428; /* aarch64_sqrshrun2_nv2di_insn_be */

                default:
                  return -1;
                }

            case 211:
              switch (pattern353 (x3))
                {
                case 0:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3363; /* aarch64_sqshrn_nv8hi_insn_le */

                case 1:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3369; /* aarch64_sqshrn_nv4si_insn_le */

                case 2:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3375; /* aarch64_sqshrn_nv2di_insn_le */

                case 3:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3417; /* aarch64_sqshrn2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3423; /* aarch64_sqshrn2_nv4si_insn_be */

                case 5:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3429; /* aarch64_sqshrn2_nv2di_insn_be */

                default:
                  return -1;
                }

            case 212:
              switch (pattern353 (x3))
                {
                case 0:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3364; /* aarch64_uqshrn_nv8hi_insn_le */

                case 1:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3370; /* aarch64_uqshrn_nv4si_insn_le */

                case 2:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3376; /* aarch64_uqshrn_nv2di_insn_le */

                case 3:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3418; /* aarch64_uqshrn2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3424; /* aarch64_uqshrn2_nv4si_insn_be */

                case 5:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3430; /* aarch64_uqshrn2_nv2di_insn_be */

                default:
                  return -1;
                }

            case 213:
              switch (pattern353 (x3))
                {
                case 0:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3365; /* aarch64_sqrshrn_nv8hi_insn_le */

                case 1:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3371; /* aarch64_sqrshrn_nv4si_insn_le */

                case 2:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3377; /* aarch64_sqrshrn_nv2di_insn_le */

                case 3:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3419; /* aarch64_sqrshrn2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3425; /* aarch64_sqrshrn2_nv4si_insn_be */

                case 5:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3431; /* aarch64_sqrshrn2_nv2di_insn_be */

                default:
                  return -1;
                }

            case 214:
              switch (pattern353 (x3))
                {
                case 0:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3366; /* aarch64_uqrshrn_nv8hi_insn_le */

                case 1:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3372; /* aarch64_uqrshrn_nv4si_insn_le */

                case 2:
                  if (!
#line 6406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                    return -1;
                  return 3378; /* aarch64_uqrshrn_nv2di_insn_le */

                case 3:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3420; /* aarch64_uqrshrn2_nv8hi_insn_be */

                case 4:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3426; /* aarch64_uqrshrn2_nv4si_insn_be */

                case 5:
                  if (!
#line 6471 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                    return -1;
                  return 3432; /* aarch64_uqrshrn2_nv2di_insn_be */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 1:
          switch (XINT (x4, 1))
            {
            case 530:
              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 3273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2418; /* aarch64_float_trunc_rodd_hi_v4sf_be */

            case 199:
              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 (pattern617 (x3, E_V8QImode, E_V8HImode, E_V16QImode) != 0
                          || !
#line 5162 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                        return -1;
                      return 2950; /* aarch64_sqmovunv8hi_insn_le */

                    case E_V8HImode:
                      if (pattern617 (x3, E_V4HImode, E_V4SImode, E_V8HImode) != 0
                          || !
#line 5162 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                        return -1;
                      return 2951; /* aarch64_sqmovunv4si_insn_le */

                    case E_V4SImode:
                      if (pattern617 (x3, E_V2SImode, E_V2DImode, E_V4SImode) != 0
                          || !
#line 5162 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                        return -1;
                      return 2952; /* 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 (pattern618 (x3, E_V8QImode, E_V8HImode, E_V16QImode) != 0
                          || !
#line 5217 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                        return -1;
                      return 2959; /* aarch64_sqxtun2v8hi_be */

                    case E_V8HImode:
                      if (pattern618 (x3, E_V4HImode, E_V4SImode, E_V8HImode) != 0
                          || !
#line 5217 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                        return -1;
                      return 2960; /* aarch64_sqxtun2v4si_be */

                    case E_V4SImode:
                      if (pattern618 (x3, E_V2SImode, E_V2DImode, E_V4SImode) != 0
                          || !
#line 5217 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                        return -1;
                      return 2961; /* 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 (pattern277 (x3, E_V2SFmode, E_V2DFmode, E_V4SFmode) != 0
              || !
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2423; /* aarch64_float_truncate_hi_v4sf_be */

        case E_V8HFmode:
          if (pattern277 (x3, E_V4HFmode, E_V4SFmode, E_V8HFmode) != 0
              || !
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
            return -1;
          return 2424; /* 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 (pattern276 (x3))
            {
            case 0:
              if (!
#line 5068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2923; /* aarch64_sqmovnv8hi_insn_le */

            case 1:
              if (!
#line 5068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2925; /* aarch64_sqmovnv4si_insn_le */

            case 2:
              if (!
#line 5068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2927; /* aarch64_sqmovnv2di_insn_le */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (pattern278 (x3))
            {
            case 0:
              if (!
#line 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2941; /* aarch64_sqxtn2v8hi_be */

            case 1:
              if (!
#line 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2943; /* aarch64_sqxtn2v4si_be */

            case 2:
              if (!
#line 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2945; /* 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 (pattern276 (x3))
            {
            case 0:
              if (!
#line 5068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2924; /* aarch64_uqmovnv8hi_insn_le */

            case 1:
              if (!
#line 5068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2926; /* aarch64_uqmovnv4si_insn_le */

            case 2:
              if (!
#line 5068 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && !BYTES_BIG_ENDIAN))
                return -1;
              return 2928; /* aarch64_uqmovnv2di_insn_le */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (pattern278 (x3))
            {
            case 0:
              if (!
#line 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2942; /* aarch64_uqxtn2v8hi_be */

            case 1:
              if (!
#line 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2944; /* aarch64_uqxtn2v4si_be */

            case 2:
              if (!
#line 5123 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && BYTES_BIG_ENDIAN))
                return -1;
              return 2946; /* aarch64_uqxtn2v2di_be */

            default:
              return -1;
            }

        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, 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_50 (x1, insn, pnum_clobbers);

    case MINUS:
      return recog_48 (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 390; /* *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 409; /* *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 410; /* *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 411; /* *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 490; /* *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 415; /* *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 424; /* *mulsi_neg_uxtw */

        default:
          return -1;
        }

    case DIV:
      if (pattern36 (x1) != 0)
        return -1;
      return 439; /* *divsi3_uxtw */

    case UDIV:
      if (pattern36 (x1) != 0)
        return -1;
      return 440; /* *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 485; /* *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_45 (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 513; /* *csneg3_uxtw_insn4 */

            case NOT:
              x10 = XEXP (x8, 0);
              operands[2] = x10;
              if (!register_operand (operands[2], E_SImode))
                return -1;
              return 514; /* *csinv3_uxtw_insn4 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case AND:
      switch (pattern37 (x1))
        {
        case 0:
          x5 = XEXP (x3, 0);
          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 543; /* *andsi3_uxtw */

        case 1:
          if (pattern476 (x3) != 0)
            return -1;
          return 594; /* *and_ashlsi3_uxtw */

        case 2:
          if (pattern476 (x3) != 0)
            return -1;
          return 597; /* *and_ashrsi3_uxtw */

        case 3:
          if (pattern476 (x3) != 0)
            return -1;
          return 600; /* *and_lshrsi3_uxtw */

        case 4:
          if (pattern476 (x3) != 0)
            return -1;
          return 603; /* *and_rotrsi3_uxtw */

        case 5:
          if (pattern476 (x3) != 0)
            return -1;
          return 606; /* *and_rotlsi3_uxtw */

        case 6:
          switch (pattern479 (x3))
            {
            case 0:
              return 626; /* *and_one_cmplsidi3_ze */

            case 1:
              return 666; /* and_one_cmpl_ashlsidi_uxtw */

            case 2:
              return 669; /* and_one_cmpl_ashrsidi_uxtw */

            case 3:
              return 672; /* and_one_cmpl_lshrsidi_uxtw */

            case 4:
              return 675; /* and_one_cmpl_rotrsidi_uxtw */

            case 5:
              return 678; /* and_one_cmpl_rotlsidi_uxtw */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case IOR:
      return recog_49 (x1, insn, pnum_clobbers);

    case XOR:
      switch (pattern37 (x1))
        {
        case 0:
          x5 = XEXP (x3, 0);
          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 545; /* *xorsi3_uxtw */

        case 1:
          if (pattern476 (x3) != 0)
            return -1;
          return 596; /* *xor_ashlsi3_uxtw */

        case 2:
          if (pattern476 (x3) != 0)
            return -1;
          return 599; /* *xor_ashrsi3_uxtw */

        case 3:
          if (pattern476 (x3) != 0)
            return -1;
          return 602; /* *xor_lshrsi3_uxtw */

        case 4:
          if (pattern476 (x3) != 0)
            return -1;
          return 605; /* *xor_rotrsi3_uxtw */

        case 5:
          if (pattern476 (x3) != 0)
            return -1;
          return 608; /* *xor_rotlsi3_uxtw */

        case 6:
          x5 = XEXP (x3, 0);
          if (GET_MODE (x5) != E_SImode)
            return -1;
          x6 = XEXP (x5, 0);
          if (GET_MODE (x6) != E_SImode)
            return -1;
          x8 = XEXP (x3, 1);
          operands[3] = x8;
          if (!register_operand (operands[3], E_SImode))
            return -1;
          switch (GET_CODE (x6))
            {
            case ASHIFT:
              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;
              return 668; /* xor_one_cmpl_ashlsidi_uxtw */

            case ASHIFTRT:
              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;
              return 671; /* xor_one_cmpl_ashrsidi_uxtw */

            case LSHIFTRT:
              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;
              return 674; /* xor_one_cmpl_lshrsidi_uxtw */

            case ROTATERT:
              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;
              return 677; /* xor_one_cmpl_rotrsidi_uxtw */

            case ROTATE:
              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;
              return 680; /* xor_one_cmpl_rotlsidi_uxtw */

            default:
              return -1;
            }

        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 611; /* *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 628; /* *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 691; /* *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 692; /* *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 693; /* *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 694; /* *eor_one_cmpl_rotrsidi3_alt_ze */

            case ROTATE:
              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 695; /* *eor_one_cmpl_rotlsidi3_alt_ze */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern38 (x1))
        {
        case 0:
          return 799; /* *ashlsi3_insn_uxtw */

        case 1:
          if (!
#line 5774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 822; /* *zero_extenddi_ashlqi */

        case 2:
          if (!
#line 5774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 824; /* *zero_extenddi_ashlhi */

        case 3:
          if (!
#line 5774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 818; /* *zero_extendsi_ashlqi */

        case 4:
          if (!
#line 5774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 820; /* *zero_extendsi_ashlhi */

        default:
          return -1;
        }

    case ASHIFTRT:
      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 (!aarch64_reg_or_shift_imm_si (operands[2], E_QImode))
        return -1;
      return 800; /* *ashrsi3_insn_uxtw */

    case LSHIFTRT:
      switch (pattern38 (x1))
        {
        case 0:
          return 801; /* *lshrsi3_insn_uxtw */

        case 1:
          if (!
#line 5787 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 827; /* *zero_extenddi_lshrqi */

        case 2:
          if (!
#line 5787 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 828; /* *zero_extenddi_lshrhi */

        case 3:
          if (!
#line 5787 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 825; /* *zero_extendsi_lshrqi */

        case 4:
          if (!
#line 5787 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 826; /* *zero_extendsi_lshrhi */

        default:
          return -1;
        }

    case ROTATERT:
      if (pattern39 (x1) != 0
          || !
#line 5668 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
        return -1;
      return 802; /* *rorsi3_insn_uxtw */

    case ROTATE:
      if (pattern39 (x1) != 0
          || !
#line 5679 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
        return -1;
      return 803; /* *rolsi3_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 891; /* *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 6480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1011; /* *fix_to_zero_extendsfdi2 */

        case E_DFmode:
          if (!register_operand (operands[1], E_DFmode)
              || !
#line 6480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1012; /* *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 7017 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
        return -1;
      return 1114; /* aarch64_movtilow_tilow */

    case UNSPEC:
      return recog_46 (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 (pattern298 (x2))
        {
        case 0:
          if (vect_par_cnst_lo_half (operands[2], E_V16QImode)
              && 
#line 2019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2067; /* aarch64_simd_vec_unpacku_lo_v16qi */
          if (vect_par_cnst_hi_half (operands[2], E_V16QImode)
              && 
#line 2030 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2073; /* aarch64_simd_vec_unpacku_hi_v16qi */
          break;

        case 1:
          if (vect_par_cnst_lo_half (operands[2], E_V8HImode)
              && 
#line 2019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2069; /* aarch64_simd_vec_unpacku_lo_v8hi */
          if (vect_par_cnst_hi_half (operands[2], E_V8HImode)
              && 
#line 2030 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2075; /* aarch64_simd_vec_unpacku_hi_v8hi */
          break;

        case 2:
          if (vect_par_cnst_lo_half (operands[2], E_V4SImode)
              && 
#line 2019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2071; /* aarch64_simd_vec_unpacku_lo_v4si */
          if (vect_par_cnst_hi_half (operands[2], E_V4SImode)
              && 
#line 2030 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2077; /* aarch64_simd_vec_unpacku_hi_v4si */
          break;

        default:
          break;
        }
      if (XVECLEN (x8, 0) != 1)
        return -1;
      operands[0] = x4;
      switch (pattern300 (x2))
        {
        case 0:
          if (!
#line 4209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2583; /* *aarch64_get_lane_zero_extendsiv8qi */

        case 1:
          if (!
#line 4209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2585; /* *aarch64_get_lane_zero_extendsiv16qi */

        case 2:
          if (!
#line 4209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2587; /* *aarch64_get_lane_zero_extendsiv4hi */

        case 3:
          if (!
#line 4209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2589; /* *aarch64_get_lane_zero_extendsiv8hi */

        case 4:
          if (!
#line 4209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2584; /* *aarch64_get_lane_zero_extenddiv8qi */

        case 5:
          if (!
#line 4209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2586; /* *aarch64_get_lane_zero_extenddiv16qi */

        case 6:
          if (!
#line 4209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2588; /* *aarch64_get_lane_zero_extenddiv4hi */

        case 7:
          if (!
#line 4209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2590; /* *aarch64_get_lane_zero_extenddiv8hi */

        default:
          return -1;
        }

    case UNSPEC_VOLATILE:
      return recog_51 (x1, insn, pnum_clobbers);

    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 (pattern380 (x2))
        {
        case 0:
          if (!
#line 9997 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9124; /* aarch64_sve_uqincsi_pat */

        case 1:
          if (!
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9170; /* *aarch64_sve_uqincsivnx16bi_cntp */

        case 2:
          if (!
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9172; /* *aarch64_sve_uqincsivnx8bi_cntp */

        case 3:
          if (!
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9174; /* *aarch64_sve_uqincsivnx4bi_cntp */

        case 4:
          if (!
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9176; /* *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 (pattern382 (x2))
        {
        case 0:
          if (!
#line 10147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9139; /* aarch64_sve_uqdecsi_pat */

        case 1:
          if (!
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9203; /* *aarch64_sve_uqdecsivnx16bi_cntp */

        case 2:
          if (!
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9205; /* *aarch64_sve_uqdecsivnx8bi_cntp */

        case 3:
          if (!
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9207; /* *aarch64_sve_uqdecsivnx4bi_cntp */

        case 4:
          if (!
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9209; /* *aarch64_sve_uqdecsivnx2bi_cntp */

        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, x15, x16, x17;
  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_401 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 4759; /* aarch64_rdffr_z */
      operands[2] = x5;
      operands[1] = x3;
      if (!register_operand (operands[1], E_VNx16BImode)
          || !
#line 6382 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 7345; /* 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 (pattern44 (x2))
            {
            case 0:
              return 564; /* *and_ashlsi3 */

            case 1:
              return 579; /* *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 (pattern535 (x2, E_SImode) != 0
                  || !
#line 6082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_mask_and_shift_for_ubfiz_p (SImode, operands[3], operands[2])))
                return -1;
              return 874; /* *andim_ashiftsi_bfiz */

            case E_DImode:
              if (pattern535 (x2, E_DImode) != 0
                  || !
#line 6082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_mask_and_shift_for_ubfiz_p (DImode, operands[3], operands[2])))
                return -1;
              return 875; /* *andim_ashiftdi_bfiz */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern45 (x2))
        {
        case 0:
          return 567; /* *and_ashrsi3 */

        case 1:
          return 582; /* *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 (pattern336 (x2))
        {
        case 0:
          return 570; /* *and_lshrsi3 */

        case 1:
          return 585; /* *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) != 162
          || 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 7846 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
        return -1;
      return 1221; /* stg */

    case ROTATERT:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern45 (x2))
        {
        case 0:
          return 573; /* *and_rotrsi3 */

        case 1:
          return 588; /* *and_rotrdi3 */

        default:
          return -1;
        }

    case ROTATE:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern45 (x2))
        {
        case 0:
          return 576; /* *and_rotlsi3 */

        case 1:
          return 591; /* *and_rotldi3 */

        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 (pattern337 (x2, E_SImode) != 0)
                return -1;
              return 622; /* *and_one_cmplsi3 */

            case E_DImode:
              if (pattern337 (x2, E_DImode) != 0)
                return -1;
              return 624; /* *and_one_cmpldi3 */

            case E_V8QImode:
              if (pattern337 (x2, E_V8QImode) != 0
                  || !
#line 401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1512; /* bicv8qi3 */

            case E_V16QImode:
              if (pattern337 (x2, E_V16QImode) != 0
                  || !
#line 401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1513; /* bicv16qi3 */

            case E_V4HImode:
              if (pattern337 (x2, E_V4HImode) != 0
                  || !
#line 401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1514; /* bicv4hi3 */

            case E_V8HImode:
              if (pattern337 (x2, E_V8HImode) != 0
                  || !
#line 401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1515; /* bicv8hi3 */

            case E_V2SImode:
              if (pattern337 (x2, E_V2SImode) != 0
                  || !
#line 401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1516; /* bicv2si3 */

            case E_V4SImode:
              if (pattern337 (x2, E_V4SImode) != 0
                  || !
#line 401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1517; /* bicv4si3 */

            case E_V2DImode:
              if (pattern337 (x2, E_V2DImode) != 0
                  || !
#line 401 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1518; /* bicv2di3 */

            case E_VNx16BImode:
              if (pattern338 (x2, E_VNx16BImode) != 0
                  || !
#line 3618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5877; /* *one_cmplvnx16bi3 */

            case E_VNx8BImode:
              if (pattern338 (x2, E_VNx8BImode) != 0
                  || !
#line 3618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5878; /* *one_cmplvnx8bi3 */

            case E_VNx4BImode:
              if (pattern338 (x2, E_VNx4BImode) != 0
                  || !
#line 3618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5879; /* *one_cmplvnx4bi3 */

            case E_VNx2BImode:
              if (pattern338 (x2, E_VNx2BImode) != 0
                  || !
#line 3618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5880; /* *one_cmplvnx2bi3 */

            default:
              return -1;
            }

        case ASHIFT:
          switch (pattern191 (x2))
            {
            case 0:
              return 636; /* and_one_cmpl_ashlsi3 */

            case 1:
              return 651; /* and_one_cmpl_ashldi3 */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern191 (x2))
            {
            case 0:
              return 639; /* and_one_cmpl_ashrsi3 */

            case 1:
              return 654; /* and_one_cmpl_ashrdi3 */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern191 (x2))
            {
            case 0:
              return 642; /* and_one_cmpl_lshrsi3 */

            case 1:
              return 657; /* and_one_cmpl_lshrdi3 */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern191 (x2))
            {
            case 0:
              return 645; /* and_one_cmpl_rotrsi3 */

            case 1:
              return 660; /* and_one_cmpl_rotrdi3 */

            default:
              return -1;
            }

        case ROTATE:
          switch (pattern191 (x2))
            {
            case 0:
              return 648; /* and_one_cmpl_rotlsi3 */

            case 1:
              return 663; /* and_one_cmpl_rotldi3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case UNSPEC:
      return recog_402 (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 (pattern161 (x2))
            {
            case 0:
              if (!
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7349; /* aarch64_pred_andvnx16bi_z */

            case 1:
              if (!
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7352; /* aarch64_pred_andvnx8bi_z */

            case 2:
              if (!
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7355; /* aarch64_pred_andvnx4bi_z */

            case 3:
              if (!
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7358; /* 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 (pattern341 (x2))
                {
                case 0:
                  if (!
#line 6468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7385; /* aarch64_pred_bicvnx16bi_z */

                case 1:
                  if (!
#line 6468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7387; /* aarch64_pred_bicvnx8bi_z */

                case 2:
                  if (!
#line 6468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7389; /* aarch64_pred_bicvnx4bi_z */

                case 3:
                  if (!
#line 6468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7391; /* aarch64_pred_bicvnx2bi_z */

                case 4:
                  if (!
#line 6530 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7409; /* aarch64_pred_norvnx16bi_z */

                case 5:
                  if (!
#line 6530 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7411; /* aarch64_pred_norvnx8bi_z */

                case 6:
                  if (!
#line 6530 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7413; /* aarch64_pred_norvnx4bi_z */

                case 7:
                  if (!
#line 6530 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7415; /* 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 338:
                  switch (pattern786 (x2))
                    {
                    case 0:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8507; /* *fcmeqvnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8513; /* *fcmeqvnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8519; /* *fcmeqvnx2df_bic_combine */

                    case 3:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8525; /* *fcmeqvnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8531; /* *fcmeqvnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8537; /* *fcmeqvnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 339:
                  switch (pattern786 (x2))
                    {
                    case 0:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8508; /* *fcmgevnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8514; /* *fcmgevnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8520; /* *fcmgevnx2df_bic_combine */

                    case 3:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8526; /* *fcmgevnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8532; /* *fcmgevnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8538; /* *fcmgevnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 340:
                  switch (pattern786 (x2))
                    {
                    case 0:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8509; /* *fcmgtvnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8515; /* *fcmgtvnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8521; /* *fcmgtvnx2df_bic_combine */

                    case 3:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8527; /* *fcmgtvnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8533; /* *fcmgtvnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8539; /* *fcmgtvnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 345:
                  switch (pattern786 (x2))
                    {
                    case 0:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8510; /* *fcmlevnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8516; /* *fcmlevnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8522; /* *fcmlevnx2df_bic_combine */

                    case 3:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8528; /* *fcmlevnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8534; /* *fcmlevnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8540; /* *fcmlevnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 346:
                  switch (pattern786 (x2))
                    {
                    case 0:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8511; /* *fcmltvnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8517; /* *fcmltvnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8523; /* *fcmltvnx2df_bic_combine */

                    case 3:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8529; /* *fcmltvnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8535; /* *fcmltvnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8541; /* *fcmltvnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 347:
                  switch (pattern786 (x2))
                    {
                    case 0:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8512; /* *fcmnevnx8hf_bic_combine */

                    case 1:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8518; /* *fcmnevnx4sf_bic_combine */

                    case 2:
                      if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8524; /* *fcmnevnx2df_bic_combine */

                    case 3:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8530; /* *fcmnevnx8hf_nor_combine */

                    case 4:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8536; /* *fcmnevnx4sf_nor_combine */

                    case 5:
                      if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                        return -1;
                      *pnum_clobbers = 1;
                      return 8542; /* *fcmnevnx2df_nor_combine */

                    default:
                      return -1;
                    }

                case 348:
                  x7 = XEXP (x3, 1);
                  switch (GET_CODE (x7))
                    {
                    case REG:
                    case SUBREG:
                      operands[4] = x7;
                      switch (GET_MODE (operands[0]))
                        {
                        case E_VNx8BImode:
                          if (pattern863 (x2, E_VNx8BImode, E_VNx8HFmode) != 0
                              || !
#line 8259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                            return -1;
                          *pnum_clobbers = 1;
                          return 8543; /* *fcmuovnx8hf_bic_combine */

                        case E_VNx4BImode:
                          if (pattern863 (x2, E_VNx4BImode, E_VNx4SFmode) != 0
                              || !
#line 8259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                            return -1;
                          *pnum_clobbers = 1;
                          return 8544; /* *fcmuovnx4sf_bic_combine */

                        case E_VNx2BImode:
                          if (pattern863 (x2, E_VNx2BImode, E_VNx2DFmode) != 0
                              || !
#line 8259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                            return -1;
                          *pnum_clobbers = 1;
                          return 8545; /* *fcmuovnx2df_bic_combine */

                        default:
                          return -1;
                        }

                    case NOT:
                      x17 = XEXP (x7, 0);
                      operands[4] = x17;
                      switch (GET_MODE (operands[0]))
                        {
                        case E_VNx8BImode:
                          if (pattern864 (x2, E_VNx8BImode, E_VNx8HFmode) != 0
                              || !
#line 8296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                            return -1;
                          *pnum_clobbers = 1;
                          return 8546; /* *fcmuovnx8hf_nor_combine */

                        case E_VNx4BImode:
                          if (pattern864 (x2, E_VNx4BImode, E_VNx4SFmode) != 0
                              || !
#line 8296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                            return -1;
                          *pnum_clobbers = 1;
                          return 8547; /* *fcmuovnx4sf_nor_combine */

                        case E_VNx2BImode:
                          if (pattern864 (x2, E_VNx2BImode, E_VNx2DFmode) != 0
                              || !
#line 8296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                            return -1;
                          *pnum_clobbers = 1;
                          return 8548; /* *fcmuovnx2df_nor_combine */

                        default:
                          return -1;
                        }

                    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 (pattern160 (x2, E_VNx16BImode) != 0
                  || !
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7350; /* aarch64_pred_iorvnx16bi_z */

            case E_VNx8BImode:
              if (pattern160 (x2, E_VNx8BImode) != 0
                  || !
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7353; /* aarch64_pred_iorvnx8bi_z */

            case E_VNx4BImode:
              if (pattern160 (x2, E_VNx4BImode) != 0
                  || !
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7356; /* aarch64_pred_iorvnx4bi_z */

            case E_VNx2BImode:
              if (pattern160 (x2, E_VNx2BImode) != 0
                  || !
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7359; /* aarch64_pred_iorvnx2bi_z */

            default:
              return -1;
            }

        case NOT:
          switch (pattern341 (x2))
            {
            case 0:
              if (!
#line 6468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7386; /* aarch64_pred_ornvnx16bi_z */

            case 1:
              if (!
#line 6468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7388; /* aarch64_pred_ornvnx8bi_z */

            case 2:
              if (!
#line 6468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7390; /* aarch64_pred_ornvnx4bi_z */

            case 3:
              if (!
#line 6468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7392; /* aarch64_pred_ornvnx2bi_z */

            case 4:
              if (!
#line 6530 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7410; /* aarch64_pred_nandvnx16bi_z */

            case 5:
              if (!
#line 6530 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7412; /* aarch64_pred_nandvnx8bi_z */

            case 6:
              if (!
#line 6530 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7414; /* aarch64_pred_nandvnx4bi_z */

            case 7:
              if (!
#line 6530 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7416; /* aarch64_pred_nandvnx2bi_z */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case XOR:
      x4 = XEXP (x1, 0);
      operands[0] = x4;
      switch (pattern161 (x2))
        {
        case 0:
          if (!
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7351; /* aarch64_pred_xorvnx16bi_z */

        case 1:
          if (!
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7354; /* aarch64_pred_xorvnx8bi_z */

        case 2:
          if (!
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7357; /* aarch64_pred_xorvnx4bi_z */

        case 3:
          if (!
#line 6408 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7360; /* aarch64_pred_xorvnx2bi_z */

        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, 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 (pattern377 (x3, E_SImode) != 0)
            return -1;
          return 539; /* xorsi3 */

        case E_DImode:
          if (pattern377 (x3, E_DImode) != 0)
            return -1;
          return 542; /* xordi3 */

        case E_V8QImode:
          if (pattern1 (x3, E_V8QImode) != 0
              || !
#line 1047 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1779; /* xorv8qi3 */

        case E_V16QImode:
          if (pattern1 (x3, E_V16QImode) != 0
              || !
#line 1047 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1780; /* xorv16qi3 */

        case E_V4HImode:
          if (pattern1 (x3, E_V4HImode) != 0
              || !
#line 1047 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1781; /* xorv4hi3 */

        case E_V8HImode:
          if (pattern1 (x3, E_V8HImode) != 0
              || !
#line 1047 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1782; /* xorv8hi3 */

        case E_V2SImode:
          if (pattern1 (x3, E_V2SImode) != 0
              || !
#line 1047 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1783; /* xorv2si3 */

        case E_V4SImode:
          if (pattern1 (x3, E_V4SImode) != 0
              || !
#line 1047 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1784; /* xorv4si3 */

        case E_V2DImode:
          if (pattern1 (x3, E_V2DImode) != 0
              || !
#line 1047 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1785; /* xorv2di3 */

        case E_VNx16QImode:
          if (pattern379 (x3, E_VNx16QImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6675; /* xorvnx16qi3 */

        case E_VNx8QImode:
          if (pattern379 (x3, E_VNx8QImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6678; /* xorvnx8qi3 */

        case E_VNx4QImode:
          if (pattern379 (x3, E_VNx4QImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6681; /* xorvnx4qi3 */

        case E_VNx2QImode:
          if (pattern379 (x3, E_VNx2QImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6684; /* xorvnx2qi3 */

        case E_VNx8HImode:
          if (pattern379 (x3, E_VNx8HImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6687; /* xorvnx8hi3 */

        case E_VNx4HImode:
          if (pattern379 (x3, E_VNx4HImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6690; /* xorvnx4hi3 */

        case E_VNx2HImode:
          if (pattern379 (x3, E_VNx2HImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6693; /* xorvnx2hi3 */

        case E_VNx4SImode:
          if (pattern379 (x3, E_VNx4SImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6696; /* xorvnx4si3 */

        case E_VNx2SImode:
          if (pattern379 (x3, E_VNx2SImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6699; /* xorvnx2si3 */

        case E_VNx2DImode:
          if (pattern379 (x3, E_VNx2DImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6702; /* xorvnx2di3 */

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern45 (x3))
        {
        case 0:
          return 566; /* *xor_ashlsi3 */

        case 1:
          return 581; /* *xor_ashldi3 */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern45 (x3))
        {
        case 0:
          return 569; /* *xor_ashrsi3 */

        case 1:
          return 584; /* *xor_ashrdi3 */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern45 (x3))
        {
        case 0:
          return 572; /* *xor_lshrsi3 */

        case 1:
          return 587; /* *xor_lshrdi3 */

        default:
          return -1;
        }

    case ROTATERT:
      switch (pattern45 (x3))
        {
        case 0:
          return 575; /* *xor_rotrsi3 */

        case 1:
          return 590; /* *xor_rotrdi3 */

        default:
          return -1;
        }

    case ROTATE:
      x6 = XEXP (x4, 1);
      if (GET_CODE (x6) != CONST_INT)
        return -1;
      operands[2] = x6;
      switch (pattern336 (x3))
        {
        case 0:
          return 578; /* *xor_rotlsi3 */

        case 1:
          return 593; /* *xor_rotldi3 */

        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 (pattern534 (x3, E_V2DImode) != 0
              || !
#line 8333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
            return -1;
          return 4350; /* aarch64_rax1qv2di */

        case E_VNx2DImode:
          if (pattern534 (x3, E_VNx2DImode) != 0
              || !
#line 2633 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2_SHA3))
            return -1;
          return 10109; /* 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 (pattern342 (x3))
            {
            case 0:
              return 638; /* xor_one_cmpl_ashlsi3 */

            case 1:
              return 653; /* xor_one_cmpl_ashldi3 */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern342 (x3))
            {
            case 0:
              return 641; /* xor_one_cmpl_ashrsi3 */

            case 1:
              return 656; /* xor_one_cmpl_ashrdi3 */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern342 (x3))
            {
            case 0:
              return 644; /* xor_one_cmpl_lshrsi3 */

            case 1:
              return 659; /* xor_one_cmpl_lshrdi3 */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern342 (x3))
            {
            case 0:
              return 647; /* xor_one_cmpl_rotrsi3 */

            case 1:
              return 662; /* xor_one_cmpl_rotrdi3 */

            default:
              return -1;
            }

        case ROTATE:
          switch (pattern342 (x3))
            {
            case 0:
              return 650; /* xor_one_cmpl_rotlsi3 */

            case 1:
              return 665; /* xor_one_cmpl_rotldi3 */

            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 (pattern447 (x3, E_V8QImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2559; /* aarch64_simd_bslv8qi_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2566; /* *aarch64_simd_bslv8qi_alt */

            case E_V16QImode:
              if (pattern447 (x3, E_V16QImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2560; /* aarch64_simd_bslv16qi_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2567; /* *aarch64_simd_bslv16qi_alt */

            case E_V4HImode:
              if (pattern447 (x3, E_V4HImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2561; /* aarch64_simd_bslv4hi_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2568; /* *aarch64_simd_bslv4hi_alt */

            case E_V8HImode:
              if (pattern447 (x3, E_V8HImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2562; /* aarch64_simd_bslv8hi_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2569; /* *aarch64_simd_bslv8hi_alt */

            case E_V2SImode:
              if (pattern447 (x3, E_V2SImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2563; /* aarch64_simd_bslv2si_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2570; /* *aarch64_simd_bslv2si_alt */

            case E_V4SImode:
              if (pattern447 (x3, E_V4SImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2564; /* aarch64_simd_bslv4si_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2571; /* *aarch64_simd_bslv4si_alt */

            case E_V2DImode:
              if (pattern447 (x3, E_V2DImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2565; /* aarch64_simd_bslv2di_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2572; /* *aarch64_simd_bslv2di_alt */

            case E_DImode:
              if (pattern447 (x3, E_DImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[3])
                  && 
#line 3669 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 2573; /* aarch64_simd_bsldi_internal */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 3711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2574; /* aarch64_simd_bsldi_alt */

            case E_VNx16QImode:
              if (pattern448 (x3, E_VNx16QImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9535; /* *aarch64_sve2_bslvnx16qi */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9536; /* *aarch64_sve2_bslvnx16qi */

            case E_VNx8HImode:
              if (pattern448 (x3, E_VNx8HImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9537; /* *aarch64_sve2_bslvnx8hi */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9538; /* *aarch64_sve2_bslvnx8hi */

            case E_VNx4SImode:
              if (pattern448 (x3, E_VNx4SImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9539; /* *aarch64_sve2_bslvnx4si */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9540; /* *aarch64_sve2_bslvnx4si */

            case E_VNx2DImode:
              if (pattern448 (x3, E_VNx2DImode) != 0)
                return -1;
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9541; /* *aarch64_sve2_bslvnx2di */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9542; /* *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 (pattern339 (x3, E_V16QImode) != 0
                  || !
#line 8357 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
                return -1;
              return 4352; /* bcaxqv16qi4 */

            case E_V8HImode:
              if (pattern339 (x3, E_V8HImode) != 0
                  || !
#line 8357 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
                return -1;
              return 4353; /* bcaxqv8hi4 */

            case E_V4SImode:
              if (pattern339 (x3, E_V4SImode) != 0
                  || !
#line 8357 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
                return -1;
              return 4354; /* bcaxqv4si4 */

            case E_V2DImode:
              if (pattern339 (x3, E_V2DImode) != 0
                  || !
#line 8357 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
                return -1;
              return 4355; /* bcaxqv2di4 */

            default:
              return -1;
            }

        case UNSPEC:
          switch (pattern266 (x3))
            {
            case 0:
              if (!
#line 817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9519; /* *aarch64_sve2_bcaxvnx16qi */

            case 1:
              if (!
#line 817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9520; /* *aarch64_sve2_bcaxvnx8hi */

            case 2:
              if (!
#line 817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9521; /* *aarch64_sve2_bcaxvnx4si */

            case 3:
              if (!
#line 817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9522; /* *aarch64_sve2_bcaxvnx2di */

            case 4:
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9551; /* *aarch64_sve2_bsl1nvnx16qi */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9552; /* *aarch64_sve2_bsl1nvnx16qi */

            case 5:
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9553; /* *aarch64_sve2_bsl1nvnx8hi */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9554; /* *aarch64_sve2_bsl1nvnx8hi */

            case 6:
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9555; /* *aarch64_sve2_bsl1nvnx4si */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9556; /* *aarch64_sve2_bsl1nvnx4si */

            case 7:
              x5 = XEXP (x3, 1);
              if (rtx_equal_p (x5, operands[1])
                  && 
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return 9557; /* *aarch64_sve2_bsl1nvnx2di */
              if (!rtx_equal_p (x5, operands[2])
                  || !
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9558; /* *aarch64_sve2_bsl1nvnx2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case XOR:
      switch (GET_MODE (operands[0]))
        {
        case E_V16QImode:
          if (pattern267 (x3, E_V16QImode) != 0
              || !
#line 8321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
            return -1;
          return 4346; /* eor3qv16qi4 */

        case E_V8HImode:
          if (pattern267 (x3, E_V8HImode) != 0
              || !
#line 8321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
            return -1;
          return 4347; /* eor3qv8hi4 */

        case E_V4SImode:
          if (pattern267 (x3, E_V4SImode) != 0
              || !
#line 8321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
            return -1;
          return 4348; /* eor3qv4si4 */

        case E_V2DImode:
          if (pattern267 (x3, E_V2DImode) != 0
              || !
#line 8321 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
            return -1;
          return 4349; /* eor3qv2di4 */

        case E_VNx16QImode:
          if (pattern268 (x3, E_VNx16QImode) != 0
              || !
#line 836 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9523; /* aarch64_sve2_eor3vnx16qi */

        case E_VNx8HImode:
          if (pattern268 (x3, E_VNx8HImode) != 0
              || !
#line 836 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9524; /* aarch64_sve2_eor3vnx8hi */

        case E_VNx4SImode:
          if (pattern268 (x3, E_VNx4SImode) != 0
              || !
#line 836 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9525; /* aarch64_sve2_eor3vnx4si */

        case E_VNx2DImode:
          if (pattern268 (x3, E_VNx2DImode) != 0
              || !
#line 836 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9526; /* aarch64_sve2_eor3vnx2di */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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;
  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_60 (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 (pattern475 (x3, E_SImode) != 0)
                return -1;
              return 422; /* *mulsi_neg */

            case E_DImode:
              if (pattern475 (x3, E_DImode) != 0)
                return -1;
              return 423; /* *muldi_neg */

            case E_SFmode:
              if (pattern475 (x3, E_SFmode) != 0
                  || !
#line 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && !flag_rounding_math))
                return -1;
              return 1062; /* *fnmulsf3 */

            case E_DFmode:
              if (pattern475 (x3, E_DFmode) != 0
                  || !
#line 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && !flag_rounding_math))
                return -1;
              return 1063; /* *fnmuldf3 */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          if (pattern206 (x3, SIGN_EXTEND) != 0)
            return -1;
          return 431; /* *mulsidi_neg */

        case ZERO_EXTEND:
          if (pattern206 (x3, ZERO_EXTEND) != 0)
            return -1;
          return 432; /* *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 (pattern415 (x3))
                {
                case 0:
                  return 425; /* mulsidi3 */

                case 1:
                  if (!
#line 2292 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2136; /* aarch64_intrinsic_vec_smult_lo_v8qi */

                case 2:
                  if (!
#line 2292 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2138; /* aarch64_intrinsic_vec_smult_lo_v4hi */

                case 3:
                  if (!
#line 2292 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2140; /* aarch64_intrinsic_vec_smult_lo_v2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern417 (x3, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2148; /* aarch64_vec_smult_lane_v4hi */

                case 1:
                  if (!
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2150; /* aarch64_vec_smult_laneq_v4hi */

                case 2:
                  if (!
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2152; /* aarch64_vec_smult_lane_v2si */

                case 3:
                  if (!
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2154; /* aarch64_vec_smult_laneq_v2si */

                case 4:
                  if (!
#line 2434 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2164; /* aarch64_smull_nv4hi */

                case 5:
                  if (!
#line 2434 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2166; /* 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 (pattern53 (x3))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2281 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2130; /* aarch64_simd_vec_smult_lo_v16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2319 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2142; /* aarch64_simd_vec_smult_hi_v16qi */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2281 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2132; /* aarch64_simd_vec_smult_lo_v8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2319 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2144; /* aarch64_simd_vec_smult_hi_v8hi */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2281 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2134; /* aarch64_simd_vec_smult_lo_v4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2319 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2146; /* aarch64_simd_vec_smult_hi_v4si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern419 (x3, SIGN_EXTEND))
                {
                case 0:
                  if (!
#line 2370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2156; /* aarch64_smull_hi_lanev8hi_insn */

                case 1:
                  if (!
#line 2404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2160; /* aarch64_smull_hi_laneqv8hi_insn */

                case 2:
                  if (!
#line 2370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2158; /* aarch64_smull_hi_lanev4si_insn */

                case 3:
                  if (!
#line 2404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2162; /* aarch64_smull_hi_laneqv4si_insn */

                case 4:
                  if (!
#line 2449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2168; /* aarch64_smull_hi_nv8hi_insn */

                case 5:
                  if (!
#line 2449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2170; /* 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 (pattern415 (x3))
                {
                case 0:
                  return 426; /* umulsidi3 */

                case 1:
                  if (!
#line 2292 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2137; /* aarch64_intrinsic_vec_umult_lo_v8qi */

                case 2:
                  if (!
#line 2292 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2139; /* aarch64_intrinsic_vec_umult_lo_v4hi */

                case 3:
                  if (!
#line 2292 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2141; /* aarch64_intrinsic_vec_umult_lo_v2si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern417 (x3, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2149; /* aarch64_vec_umult_lane_v4hi */

                case 1:
                  if (!
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2151; /* aarch64_vec_umult_laneq_v4hi */

                case 2:
                  if (!
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2153; /* aarch64_vec_umult_lane_v2si */

                case 3:
                  if (!
#line 2350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2155; /* aarch64_vec_umult_laneq_v2si */

                case 4:
                  if (!
#line 2434 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2165; /* aarch64_umull_nv4hi */

                case 5:
                  if (!
#line 2434 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2167; /* 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 (pattern53 (x3))
                {
                case 0:
                  if (vect_par_cnst_lo_half (operands[3], E_V16QImode)
                      && 
#line 2281 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2131; /* aarch64_simd_vec_umult_lo_v16qi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V16QImode)
                      || !
#line 2319 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2143; /* aarch64_simd_vec_umult_hi_v16qi */

                case 1:
                  if (vect_par_cnst_lo_half (operands[3], E_V8HImode)
                      && 
#line 2281 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2133; /* aarch64_simd_vec_umult_lo_v8hi */
                  if (!vect_par_cnst_hi_half (operands[3], E_V8HImode)
                      || !
#line 2319 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2145; /* aarch64_simd_vec_umult_hi_v8hi */

                case 2:
                  if (vect_par_cnst_lo_half (operands[3], E_V4SImode)
                      && 
#line 2281 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return 2135; /* aarch64_simd_vec_umult_lo_v4si */
                  if (!vect_par_cnst_hi_half (operands[3], E_V4SImode)
                      || !
#line 2319 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2147; /* aarch64_simd_vec_umult_hi_v4si */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              switch (pattern419 (x3, ZERO_EXTEND))
                {
                case 0:
                  if (!
#line 2370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2157; /* aarch64_umull_hi_lanev8hi_insn */

                case 1:
                  if (!
#line 2404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2161; /* aarch64_umull_hi_laneqv8hi_insn */

                case 2:
                  if (!
#line 2370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2159; /* aarch64_umull_hi_lanev4si_insn */

                case 3:
                  if (!
#line 2404 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2163; /* aarch64_umull_hi_laneqv4si_insn */

                case 4:
                  if (!
#line 2449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2169; /* aarch64_umull_hi_nv8hi_insn */

                case 5:
                  if (!
#line 2449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2171; /* aarch64_umull_hi_nv4si_insn */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case FLOAT:
      switch (pattern59 (x3))
        {
        case 0:
          if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1013; /* *aarch64_scvtfsisf2_mult */

        case 1:
          if (!
#line 6514 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1017; /* *aarch64_scvtfdisf2_mult */

        case 2:
          if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1015; /* *aarch64_scvtfdidf2_mult */

        case 3:
          if (!
#line 6514 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1019; /* *aarch64_scvtfsidf2_mult */

        default:
          return -1;
        }

    case UNSIGNED_FLOAT:
      switch (pattern59 (x3))
        {
        case 0:
          if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1014; /* *aarch64_ucvtfsisf2_mult */

        case 1:
          if (!
#line 6514 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1018; /* *aarch64_ucvtfdisf2_mult */

        case 2:
          if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1016; /* *aarch64_ucvtfdidf2_mult */

        case 3:
          if (!
#line 6514 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1020; /* *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 (pattern687 (x3, E_V4HImode))
                {
                case 0:
                  if (!
#line 741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1630; /* mul_lanev4hi3 */

                case 1:
                  if (!
#line 757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1638; /* mul_laneqv4hi3 */

                default:
                  return -1;
                }

            case E_V8HImode:
              switch (pattern687 (x3, E_V8HImode))
                {
                case 0:
                  if (!
#line 741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1631; /* mul_lanev8hi3 */

                case 1:
                  if (!
#line 757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1639; /* mul_laneqv8hi3 */

                default:
                  return -1;
                }

            case E_V2SImode:
              switch (pattern688 (x3, E_V2SImode))
                {
                case 0:
                  if (!
#line 741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1632; /* mul_lanev2si3 */

                case 1:
                  if (!
#line 757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1640; /* mul_laneqv2si3 */

                default:
                  return -1;
                }

            case E_V4SImode:
              switch (pattern688 (x3, E_V4SImode))
                {
                case 0:
                  if (!
#line 741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1633; /* mul_lanev4si3 */

                case 1:
                  if (!
#line 757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1641; /* mul_laneqv4si3 */

                default:
                  return -1;
                }

            case E_V4HFmode:
              switch (pattern689 (x3, E_V4HFmode))
                {
                case 0:
                  if (!(
#line 741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 444 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1634; /* mul_lanev4hf3 */

                case 1:
                  if (!(
#line 757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 438 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1642; /* mul_laneqv4hf3 */

                default:
                  return -1;
                }

            case E_V8HFmode:
              switch (pattern689 (x3, E_V8HFmode))
                {
                case 0:
                  if (!(
#line 741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 445 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1635; /* mul_lanev8hf3 */

                case 1:
                  if (!(
#line 757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 1643; /* mul_laneqv8hf3 */

                default:
                  return -1;
                }

            case E_V2SFmode:
              switch (pattern690 (x3, E_V2SFmode))
                {
                case 0:
                  if (!
#line 741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1636; /* mul_lanev2sf3 */

                case 1:
                  if (!
#line 757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1644; /* mul_laneqv2sf3 */

                default:
                  return -1;
                }

            case E_V4SFmode:
              switch (pattern690 (x3, E_V4SFmode))
                {
                case 0:
                  if (!
#line 741 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1637; /* mul_lanev4sf3 */

                case 1:
                  if (!
#line 757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 1645; /* 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 757 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1646; /* mul_laneqv2df3 */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          operands[2] = x5;
          switch (GET_MODE (operands[0]))
            {
            case E_V4HImode:
              if (pattern494 (x3, E_V4HImode, E_HImode) != 0
                  || !
#line 771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1647; /* mul_nv4hi3 */

            case E_V8HImode:
              if (pattern494 (x3, E_V8HImode, E_HImode) != 0
                  || !
#line 771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1648; /* mul_nv8hi3 */

            case E_V2SImode:
              if (pattern494 (x3, E_V2SImode, E_SImode) != 0
                  || !
#line 771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1649; /* mul_nv2si3 */

            case E_V4SImode:
              if (pattern494 (x3, E_V4SImode, E_SImode) != 0
                  || !
#line 771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1650; /* mul_nv4si3 */

            case E_V4HFmode:
              if (pattern494 (x3, E_V4HFmode, E_HFmode) != 0
                  || !(
#line 771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 438 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 1651; /* mul_nv4hf3 */

            case E_V8HFmode:
              if (pattern494 (x3, E_V8HFmode, E_HFmode) != 0
                  || !(
#line 771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 1652; /* mul_nv8hf3 */

            case E_V2SFmode:
              if (pattern494 (x3, E_V2SFmode, E_SFmode) != 0
                  || !
#line 771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1653; /* mul_nv2sf3 */

            case E_V4SFmode:
              if (pattern494 (x3, E_V4SFmode, E_SFmode) != 0
                  || !
#line 771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1654; /* mul_nv4sf3 */

            case E_V2DFmode:
              if (pattern494 (x3, E_V2DFmode, E_DFmode) != 0
                  || !
#line 771 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1655; /* mul_nv2df3 */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      if (pattern60 (x3) != 0)
        return -1;
      x6 = XEXP (x3, 1);
      operands[3] = x6;
      if (!register_operand (operands[3], E_DFmode)
          || !
#line 818 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1674; /* *aarch64_mul3_elt_to_64v2df */

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 154)
        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 (pattern644 (x3, E_VNx8HFmode) != 0
              || !
#line 6172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7321; /* aarch64_mul_lane_vnx8hf */

        case E_VNx4SFmode:
          if (pattern644 (x3, E_VNx4SFmode) != 0
              || !
#line 6172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7322; /* aarch64_mul_lane_vnx4sf */

        case E_VNx2DFmode:
          if (pattern644 (x3, E_VNx2DFmode) != 0
              || !
#line 6172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 7323; /* aarch64_mul_lane_vnx2df */

        case E_VNx8HImode:
          if (pattern644 (x3, E_VNx8HImode) != 0
              || !
#line 204 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9242; /* aarch64_mul_lane_vnx8hi */

        case E_VNx4SImode:
          if (pattern644 (x3, E_VNx4SImode) != 0
              || !
#line 204 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9243; /* aarch64_mul_lane_vnx4si */

        case E_VNx2DImode:
          if (pattern644 (x3, E_VNx2DImode) != 0
              || !
#line 204 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
            return -1;
          return 9244; /* aarch64_mul_lane_vnx2di */

        default:
          return -1;
        }

    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, 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_53 (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 (pattern44 (x3))
            {
            case 0:
              return 242; /* *add_lsl_si */

            case 1:
              return 245; /* *add_lsl_di */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          switch (pattern384 (x3))
            {
            case 0:
              return 271; /* *add_extendqi_shft_si */

            case 1:
              return 275; /* *add_extendhi_shft_si */

            case 2:
              return 279; /* *add_extendsi_shft_si */

            case 3:
              return 273; /* *add_extendqi_shft_di */

            case 4:
              return 277; /* *add_extendhi_shft_di */

            case 5:
              return 281; /* *add_extendsi_shft_di */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern384 (x3))
            {
            case 0:
              return 272; /* *add_zero_extendqi_shft_si */

            case 1:
              return 276; /* *add_zero_extendhi_shft_si */

            case 2:
              return 280; /* *add_zero_extendsi_shft_si */

            case 3:
              return 274; /* *add_zero_extendqi_shft_di */

            case 4:
              return 278; /* *add_zero_extendhi_shft_di */

            case 5:
              return 282; /* *add_zero_extendsi_shft_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern49 (x3))
        {
        case 0:
          return 243; /* *add_asr_si */

        case 1:
          return 246; /* *add_asr_di */

        case 2:
          if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1845; /* *aarch64_simd_srav8qi */

        case 3:
          if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1847; /* *aarch64_simd_srav16qi */

        case 4:
          if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1849; /* *aarch64_simd_srav4hi */

        case 5:
          if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1851; /* *aarch64_simd_srav8hi */

        case 6:
          if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1853; /* *aarch64_simd_srav2si */

        case 7:
          if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1855; /* *aarch64_simd_srav4si */

        case 8:
          if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1857; /* *aarch64_simd_srav2di */

        default:
          return -1;
        }

    case LSHIFTRT:
      x7 = XEXP (x4, 0);
      switch (GET_CODE (x7))
        {
        case REG:
        case SUBREG:
          switch (pattern49 (x3))
            {
            case 0:
              return 244; /* *add_lsr_si */

            case 1:
              return 247; /* *add_lsr_di */

            case 2:
              if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1846; /* *aarch64_simd_srav8qi */

            case 3:
              if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1848; /* *aarch64_simd_srav16qi */

            case 4:
              if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1850; /* *aarch64_simd_srav4hi */

            case 5:
              if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1852; /* *aarch64_simd_srav8hi */

            case 6:
              if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1854; /* *aarch64_simd_srav2si */

            case 7:
              if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1856; /* *aarch64_simd_srav4si */

            case 8:
              if (!
#line 1171 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1858; /* *aarch64_simd_srav2di */

            default:
              return -1;
            }

        case PLUS:
          switch (pattern193 (x3))
            {
            case 0:
              if (!
#line 4879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2823; /* *bitmask_shift_plusv8hi */

            case 1:
              if (!
#line 4879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2824; /* *bitmask_shift_plusv4si */

            case 2:
              if (!
#line 4879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2825; /* *bitmask_shift_plusv2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SIGN_EXTEND:
      return recog_56 (x1, insn, pnum_clobbers);

    case ZERO_EXTEND:
      return recog_55 (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 (pattern482 (x3, E_SImode) != 0)
            return -1;
          return 287; /* *addsi3_carryin */

        case E_DImode:
          if (pattern482 (x3, E_DImode) != 0)
            return -1;
          return 288; /* *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 (pattern682 (x3, E_SImode) != 0
                  || !
#line 2900 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]), INTVAL (operands[3])) != 0))
                return -1;
              return 298; /* *add_uxtsi_shift2 */

            case E_DImode:
              if (pattern682 (x3, E_DImode) != 0
                  || !
#line 2900 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_uxt_size (INTVAL (operands[2]), INTVAL (operands[3])) != 0))
                return -1;
              return 299; /* *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 3902 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6515; /* *aarch64_adr_uxtw_and */

        default:
          return -1;
        }

    case MULT:
      return recog_54 (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 507; /* *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 508; /* *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 (pattern638 (x3, E_V8QImode) != 0
                  || !
#line 6645 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3514; /* aarch64_cmtstv8qi */

            case E_V16QImode:
              if (pattern638 (x3, E_V16QImode) != 0
                  || !
#line 6645 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3515; /* aarch64_cmtstv16qi */

            case E_V4HImode:
              if (pattern638 (x3, E_V4HImode) != 0
                  || !
#line 6645 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3516; /* aarch64_cmtstv4hi */

            case E_V8HImode:
              if (pattern638 (x3, E_V8HImode) != 0
                  || !
#line 6645 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3517; /* aarch64_cmtstv8hi */

            case E_V2SImode:
              if (pattern638 (x3, E_V2SImode) != 0
                  || !
#line 6645 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3518; /* aarch64_cmtstv2si */

            case E_V4SImode:
              if (pattern638 (x3, E_V4SImode) != 0
                  || !
#line 6645 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3519; /* aarch64_cmtstv4si */

            case E_V2DImode:
              if (pattern638 (x3, E_V2DImode) != 0
                  || !
#line 6645 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3520; /* 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 (pattern583 (x3, E_V8QImode) != 0
                  || !
#line 6662 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3521; /* *aarch64_cmtst_same_v8qi */

            case E_V16QImode:
              if (pattern583 (x3, E_V16QImode) != 0
                  || !
#line 6662 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3522; /* *aarch64_cmtst_same_v16qi */

            case E_V4HImode:
              if (pattern583 (x3, E_V4HImode) != 0
                  || !
#line 6662 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3523; /* *aarch64_cmtst_same_v4hi */

            case E_V8HImode:
              if (pattern583 (x3, E_V8HImode) != 0
                  || !
#line 6662 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3524; /* *aarch64_cmtst_same_v8hi */

            case E_V2SImode:
              if (pattern583 (x3, E_V2SImode) != 0
                  || !
#line 6662 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3525; /* *aarch64_cmtst_same_v2si */

            case E_V4SImode:
              if (pattern583 (x3, E_V4SImode) != 0
                  || !
#line 6662 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3526; /* *aarch64_cmtst_same_v4si */

            case E_V2DImode:
              if (pattern583 (x3, E_V2DImode) != 0
                  || !
#line 6662 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3527; /* *aarch64_cmtst_same_v2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SMAX:
      switch (pattern51 (x3, pnum_clobbers))
        {
        case 0:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 527; /* *aarch64_minmax_plus */

        case 1:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 531; /* *aarch64_minmax_plus */

        default:
          return -1;
        }

    case SMIN:
      switch (pattern51 (x3, pnum_clobbers))
        {
        case 0:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 528; /* *aarch64_minmax_plus */

        case 1:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 532; /* *aarch64_minmax_plus */

        default:
          return -1;
        }

    case UMAX:
      switch (pattern51 (x3, pnum_clobbers))
        {
        case 0:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 529; /* *aarch64_minmax_plus */

        case 1:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 533; /* *aarch64_minmax_plus */

        default:
          return -1;
        }

    case UMIN:
      switch (pattern51 (x3, pnum_clobbers))
        {
        case 0:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 530; /* *aarch64_minmax_plus */

        case 1:
          if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)))
            return -1;
          *pnum_clobbers = 1;
          return 534; /* *aarch64_minmax_plus */

        default:
          return -1;
        }

    case UNSPEC:
      return recog_52 (x1, insn, pnum_clobbers);

    case MINUS:
      x6 = XEXP (x3, 1);
      operands[1] = x6;
      x7 = XEXP (x4, 0);
      switch (GET_CODE (x7))
        {
        case SMAX:
          switch (pattern315 (x3, SMIN))
            {
            case 0:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1745; /* aarch64_sabav8qi */

            case 1:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1747; /* aarch64_sabav16qi */

            case 2:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1749; /* aarch64_sabav4hi */

            case 3:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1751; /* aarch64_sabav8hi */

            case 4:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1753; /* aarch64_sabav2si */

            case 5:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1755; /* aarch64_sabav4si */

            default:
              return -1;
            }

        case UMAX:
          switch (pattern315 (x3, UMIN))
            {
            case 0:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1746; /* aarch64_uabav8qi */

            case 1:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1748; /* aarch64_uabav16qi */

            case 2:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1750; /* aarch64_uabav4hi */

            case 3:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1752; /* aarch64_uabav8hi */

            case 4:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1754; /* aarch64_uabav2si */

            case 5:
              if (!
#line 985 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1756; /* aarch64_uabav4si */

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x7, 0) != 2
              || XINT (x7, 1) != 119)
            return -1;
          x5 = XEXP (x4, 1);
          if (GET_CODE (x5) != UNSPEC
              || XVECLEN (x5, 0) != 2
              || XINT (x5, 1) != 119)
            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 (pattern769 (x3, SMIN))
                {
                case 0:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9599; /* *aarch64_sve2_sabavnx16qi */

                case 1:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9601; /* *aarch64_sve2_sabavnx8hi */

                case 2:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9603; /* *aarch64_sve2_sabavnx4si */

                case 3:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9605; /* *aarch64_sve2_sabavnx2di */

                default:
                  return -1;
                }

            case UMAX:
              switch (pattern769 (x3, UMIN))
                {
                case 0:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9600; /* *aarch64_sve2_uabavnx16qi */

                case 1:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9602; /* *aarch64_sve2_uabavnx8hi */

                case 2:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9604; /* *aarch64_sve2_uabavnx4si */

                case 3:
                  if (!
#line 1220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 9606; /* *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 (pattern483 (x3, E_VNx16QImode, E_QImode) == 0
                  && 
#line 2692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5276; /* *vec_seriesvnx16qi_plus */
              break;

            case E_VNx8QImode:
              if (pattern483 (x3, E_VNx8QImode, E_QImode) == 0
                  && 
#line 2692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5277; /* *vec_seriesvnx8qi_plus */
              break;

            case E_VNx4QImode:
              if (pattern483 (x3, E_VNx4QImode, E_QImode) == 0
                  && 
#line 2692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5278; /* *vec_seriesvnx4qi_plus */
              break;

            case E_VNx2QImode:
              if (pattern483 (x3, E_VNx2QImode, E_QImode) == 0
                  && 
#line 2692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5279; /* *vec_seriesvnx2qi_plus */
              break;

            case E_VNx8HImode:
              if (pattern483 (x3, E_VNx8HImode, E_HImode) == 0
                  && 
#line 2692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5280; /* *vec_seriesvnx8hi_plus */
              break;

            case E_VNx4HImode:
              if (pattern483 (x3, E_VNx4HImode, E_HImode) == 0
                  && 
#line 2692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5281; /* *vec_seriesvnx4hi_plus */
              break;

            case E_VNx2HImode:
              if (pattern483 (x3, E_VNx2HImode, E_HImode) == 0
                  && 
#line 2692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5282; /* *vec_seriesvnx2hi_plus */
              break;

            case E_VNx4SImode:
              if (pattern483 (x3, E_VNx4SImode, E_SImode) == 0
                  && 
#line 2692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5283; /* *vec_seriesvnx4si_plus */
              break;

            case E_VNx2SImode:
              if (pattern483 (x3, E_VNx2SImode, E_SImode) == 0
                  && 
#line 2692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5284; /* *vec_seriesvnx2si_plus */
              break;

            case E_VNx2DImode:
              if (pattern483 (x3, E_VNx2DImode, E_DImode) == 0
                  && 
#line 2692 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && aarch64_check_zero_based_sve_index_immediate (operands[2])))
                return 5285; /* *vec_seriesvnx2di_plus */
              break;

            default:
              break;
            }
          if (!subreg_lowpart_operator (x7, E_HImode)
              || pattern316 (x3, E_VNx8HImode) != 0)
            return -1;
          switch (pattern171 (x7))
            {
            case 0:
              if (!
#line 10082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9131; /* *aarch64_sve_incvnx8hi_pat */

            case 1:
              if (!
#line 10483 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9183; /* *aarch64_sve_incvnx8hi_cntp */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          if (GET_MODE (x7) != E_DImode
              || pattern316 (x3, E_VNx2DImode) != 0)
            return -1;
          x8 = XEXP (x7, 0);
          switch (pattern169 (x8))
            {
            case 0:
              if (!
#line 10026 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9125; /* aarch64_sve_incvnx2di_pat */

            case 1:
              if (!
#line 10403 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9177; /* *aarch64_sve_incvnx2di_cntp */

            default:
              return -1;
            }

        case UNSPEC:
          if (pattern194 (x3, E_VNx4SImode) != 0
              || GET_MODE (x7) != E_SImode)
            return -1;
          x6 = XEXP (x3, 1);
          operands[1] = x6;
          switch (pattern170 (x7))
            {
            case 0:
              if (!
#line 10047 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9128; /* aarch64_sve_incvnx4si_pat */

            case 1:
              if (!
#line 10442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 9180; /* *aarch64_sve_incvnx4si_cntp */

            default:
              return -1;
            }

        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:
      return recog_398 (x1, insn, pnum_clobbers);

    case 1:
      return recog_399 (x1, insn, pnum_clobbers);

    case 3:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      return recog_388 (x1, insn, pnum_clobbers);

    case 4:
      return recog_400 (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 114:
          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 (pattern839 (x2, E_VNx4SImode, E_VNx4BImode, E_VNx4QImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4912; /* mask_gather_loadvnx4qivnx4si */

                case E_VNx4HImode:
                  if (pattern840 (x2, E_VNx4HImode, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4913; /* mask_gather_loadvnx4hivnx4si */

                case E_VNx4HFmode:
                  if (pattern840 (x2, E_VNx4HFmode, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4914; /* mask_gather_loadvnx4hfvnx4si */

                case E_VNx4BFmode:
                  if (pattern840 (x2, E_VNx4BFmode, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4915; /* mask_gather_loadvnx4bfvnx4si */

                case E_VNx4SImode:
                  if (!register_operand (operands[0], E_VNx4SImode)
                      || GET_MODE (x2) != E_VNx4SImode
                      || pattern841 (E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4916; /* mask_gather_loadvnx4sivnx4si */

                case E_VNx4SFmode:
                  if (pattern842 (x2, E_VNx4SFmode, E_VNx4SImode, E_VNx4BImode) != 0
                      || !
#line 1430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4917; /* mask_gather_loadvnx4sfvnx4si */

                case E_VNx2QImode:
                  if (pattern839 (x2, E_VNx2DImode, E_VNx2BImode, E_VNx2QImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4918; /* mask_gather_loadvnx2qivnx2di */

                case E_VNx2HImode:
                  if (pattern840 (x2, E_VNx2HImode, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4919; /* mask_gather_loadvnx2hivnx2di */

                case E_VNx2HFmode:
                  if (pattern840 (x2, E_VNx2HFmode, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4920; /* mask_gather_loadvnx2hfvnx2di */

                case E_VNx2BFmode:
                  if (pattern840 (x2, E_VNx2BFmode, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4921; /* mask_gather_loadvnx2bfvnx2di */

                case E_VNx2SImode:
                  if (pattern842 (x2, E_VNx2SImode, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4922; /* mask_gather_loadvnx2sivnx2di */

                case E_VNx2SFmode:
                  if (pattern842 (x2, E_VNx2SFmode, E_VNx2DImode, E_VNx2BImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4923; /* mask_gather_loadvnx2sfvnx2di */

                case E_VNx2DImode:
                  if (pattern843 (x2, E_VNx2DImode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4924; /* mask_gather_loadvnx2divnx2di */

                case E_VNx2DFmode:
                  if (pattern843 (x2, E_VNx2DFmode) != 0
                      || !
#line 1452 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4925; /* mask_gather_loadvnx2dfvnx2di */

                default:
                  return -1;
                }

            case UNSPEC:
              if (pattern782 (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 (pattern921 (x2))
                {
                case 0:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4926; /* *mask_gather_loadvnx2qivnx2di_sxtw_unpacked */

                case 1:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4928; /* *mask_gather_loadvnx2hivnx2di_sxtw_unpacked */

                case 2:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4930; /* *mask_gather_loadvnx2hfvnx2di_sxtw_unpacked */

                case 3:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4932; /* *mask_gather_loadvnx2bfvnx2di_sxtw_unpacked */

                case 4:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4934; /* *mask_gather_loadvnx2sivnx2di_sxtw_unpacked */

                case 5:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4936; /* *mask_gather_loadvnx2sfvnx2di_sxtw_unpacked */

                case 6:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4938; /* *mask_gather_loadvnx2divnx2di_sxtw_unpacked */

                case 7:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4940; /* *mask_gather_loadvnx2dfvnx2di_sxtw_unpacked */

                case 8:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4942; /* *mask_gather_loadvnx2qivnx2di_sxtw */

                case 9:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4943; /* *mask_gather_loadvnx2hivnx2di_sxtw */

                case 10:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4944; /* *mask_gather_loadvnx2hfvnx2di_sxtw */

                case 11:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4945; /* *mask_gather_loadvnx2bfvnx2di_sxtw */

                case 12:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4946; /* *mask_gather_loadvnx2sivnx2di_sxtw */

                case 13:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4947; /* *mask_gather_loadvnx2sfvnx2di_sxtw */

                case 14:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4948; /* *mask_gather_loadvnx2divnx2di_sxtw */

                case 15:
                  if (!
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4949; /* *mask_gather_loadvnx2dfvnx2di_sxtw */

                case 16:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4927; /* *mask_gather_loadvnx2qivnx2di_uxtw_unpacked */

                case 17:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4929; /* *mask_gather_loadvnx2hivnx2di_uxtw_unpacked */

                case 18:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4931; /* *mask_gather_loadvnx2hfvnx2di_uxtw_unpacked */

                case 19:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4933; /* *mask_gather_loadvnx2bfvnx2di_uxtw_unpacked */

                case 20:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4935; /* *mask_gather_loadvnx2sivnx2di_uxtw_unpacked */

                case 21:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4937; /* *mask_gather_loadvnx2sfvnx2di_uxtw_unpacked */

                case 22:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4939; /* *mask_gather_loadvnx2divnx2di_uxtw_unpacked */

                case 23:
                  if (!
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4941; /* *mask_gather_loadvnx2dfvnx2di_uxtw_unpacked */

                default:
                  return -1;
                }

            case AND:
              if (pattern783 (x10) != 0)
                return -1;
              switch (pattern919 (x2))
                {
                case 0:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4950; /* *mask_gather_loadvnx2qivnx2di_uxtw */

                case 1:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4951; /* *mask_gather_loadvnx2hivnx2di_uxtw */

                case 2:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4952; /* *mask_gather_loadvnx2hfvnx2di_uxtw */

                case 3:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4953; /* *mask_gather_loadvnx2bfvnx2di_uxtw */

                case 4:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4954; /* *mask_gather_loadvnx2sivnx2di_uxtw */

                case 5:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4955; /* *mask_gather_loadvnx2sfvnx2di_uxtw */

                case 6:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4956; /* *mask_gather_loadvnx2divnx2di_uxtw */

                case 7:
                  if (!
#line 1526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4957; /* *mask_gather_loadvnx2dfvnx2di_uxtw */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 117:
          return recog_397 (x1, insn, pnum_clobbers);

        default:
          return -1;
        }

    case 7:
      if (XINT (x2, 1) != 115
          || pattern159 (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 (pattern842 (x2, E_VNx4SImode, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 1713 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5024; /* aarch64_ldff1_gathervnx4si */

            case E_VNx4SFmode:
              if (pattern842 (x2, E_VNx4SFmode, E_VNx4SImode, E_VNx4BImode) != 0
                  || !
#line 1713 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5025; /* aarch64_ldff1_gathervnx4sf */

            case E_VNx2DImode:
              if (pattern843 (x2, E_VNx2DImode) != 0
                  || !
#line 1736 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5026; /* aarch64_ldff1_gathervnx2di */

            case E_VNx2DFmode:
              if (pattern843 (x2, E_VNx2DFmode) != 0
                  || !
#line 1736 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5027; /* aarch64_ldff1_gathervnx2df */

            default:
              return -1;
            }

        case UNSPEC:
          if (pattern291 (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 (pattern951 (x2))
            {
            case 0:
              if (!
#line 1761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5028; /* *aarch64_ldff1_gathervnx2di_sxtw */

            case 1:
              if (!
#line 1761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5029; /* *aarch64_ldff1_gathervnx2df_sxtw */

            default:
              return -1;
            }

        case AND:
          if (pattern783 (x10) != 0)
            return -1;
          switch (pattern951 (x2))
            {
            case 0:
              if (!
#line 1785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5030; /* *aarch64_ldff1_gathervnx2di_uxtw */

            case 1:
              if (!
#line 1785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5031; /* *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 357:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern697 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7527; /* aarch64_pred_fmavnx8hf */

            case E_VNx4SFmode:
              if (pattern697 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7531; /* aarch64_pred_fmavnx4sf */

            case E_VNx2DFmode:
              if (pattern697 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7535; /* aarch64_pred_fmavnx2df */

            default:
              return -1;
            }

        case 358:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern697 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7528; /* aarch64_pred_fnmavnx8hf */

            case E_VNx4SFmode:
              if (pattern697 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7532; /* aarch64_pred_fnmavnx4sf */

            case E_VNx2DFmode:
              if (pattern697 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7536; /* aarch64_pred_fnmavnx2df */

            default:
              return -1;
            }

        case 362:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern697 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7529; /* aarch64_pred_fnmsvnx8hf */

            case E_VNx4SFmode:
              if (pattern697 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7533; /* aarch64_pred_fnmsvnx4sf */

            case E_VNx2DFmode:
              if (pattern697 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7537; /* aarch64_pred_fnmsvnx2df */

            default:
              return -1;
            }

        case 363:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern697 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7530; /* aarch64_pred_fmsvnx8hf */

            case E_VNx4SFmode:
              if (pattern697 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7534; /* aarch64_pred_fmsvnx4sf */

            case E_VNx2DFmode:
              if (pattern697 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7538; /* aarch64_pred_fmsvnx2df */

            default:
              return -1;
            }

        case 341:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern697 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7617; /* aarch64_pred_fcmlavnx8hf */

            case E_VNx4SFmode:
              if (pattern697 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7621; /* aarch64_pred_fcmlavnx4sf */

            case E_VNx2DFmode:
              if (pattern697 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7625; /* aarch64_pred_fcmlavnx2df */

            default:
              return -1;
            }

        case 342:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern697 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7618; /* aarch64_pred_fcmla90vnx8hf */

            case E_VNx4SFmode:
              if (pattern697 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7622; /* aarch64_pred_fcmla90vnx4sf */

            case E_VNx2DFmode:
              if (pattern697 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7626; /* aarch64_pred_fcmla90vnx2df */

            default:
              return -1;
            }

        case 343:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern697 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7619; /* aarch64_pred_fcmla180vnx8hf */

            case E_VNx4SFmode:
              if (pattern697 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7623; /* aarch64_pred_fcmla180vnx4sf */

            case E_VNx2DFmode:
              if (pattern697 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7627; /* aarch64_pred_fcmla180vnx2df */

            default:
              return -1;
            }

        case 344:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern697 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7620; /* aarch64_pred_fcmla270vnx8hf */

            case E_VNx4SFmode:
              if (pattern697 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7624; /* aarch64_pred_fcmla270vnx4sf */

            case E_VNx2DFmode:
              if (pattern697 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !
#line 7274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7628; /* aarch64_pred_fcmla270vnx2df */

            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;
  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 1438 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((register_operand (operands[0], TImode)
    || aarch64_reg_or_zero (operands[1], TImode))))
            return 70; /* *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-13.5.0-r0/gcc-13.5.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 4596; /* *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-13.5.0-r0/gcc-13.5.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 4597; /* *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-13.5.0-r0/gcc-13.5.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 4598; /* *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-13.5.0-r0/gcc-13.5.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 4599; /* *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-13.5.0-r0/gcc-13.5.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 4600; /* *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-13.5.0-r0/gcc-13.5.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 4601; /* *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-13.5.0-r0/gcc-13.5.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 4602; /* *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-13.5.0-r0/gcc-13.5.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 4603; /* *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-13.5.0-r0/gcc-13.5.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 4604; /* *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-13.5.0-r0/gcc-13.5.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 4605; /* *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-13.5.0-r0/gcc-13.5.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 4606; /* *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-13.5.0-r0/gcc-13.5.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 4607; /* *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-13.5.0-r0/gcc-13.5.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 4608; /* *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-13.5.0-r0/gcc-13.5.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 4609; /* *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-13.5.0-r0/gcc-13.5.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 4610; /* *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-13.5.0-r0/gcc-13.5.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 4611; /* *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-13.5.0-r0/gcc-13.5.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 4612; /* *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-13.5.0-r0/gcc-13.5.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 4613; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4695; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4696; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4697; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4698; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4699; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4700; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4701; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4702; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4703; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4704; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4705; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4706; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4707; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4708; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4709; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4710; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4711; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4712; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4713; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4714; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4715; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4716; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4717; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN))
        return 4718; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16BImode)
       || register_operand (operands[1], VNx16BImode))))
        return 4743; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8BImode)
       || register_operand (operands[1], VNx8BImode))))
        return 4744; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4BImode)
       || register_operand (operands[1], VNx4BImode))))
        return 4745; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2BImode)
       || register_operand (operands[1], VNx2BImode))))
        return 4746; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 4757; /* aarch64_copy_ffr_to_ffrt */
          break;

        case 85:
          operands[0] = x3;
          if (register_operand (operands[0], E_VNx16BImode)
              && 
#line 1126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 4758; /* aarch64_rdffr */
          break;

        default:
          break;
        }
    }
  operands[1] = x2;
  return recog_37 (x1, insn, pnum_clobbers);
}

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;
  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 (pattern346 (x3, E_HFmode) != 0
                  || !(
#line 6315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
                return -1;
              return 981; /* *aarch64_fmahf4 */

            case E_SFmode:
              if (pattern346 (x3, E_SFmode) != 0
                  || !
#line 6315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 982; /* *aarch64_fmasf4 */

            case E_DFmode:
              if (pattern346 (x3, E_DFmode) != 0
                  || !
#line 6315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 983; /* *aarch64_fmadf4 */

            case E_V4HFmode:
              if (pattern347 (x3, E_V4HFmode) != 0
                  || !(
#line 2898 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2234; /* fmav4hf4 */

            case E_V8HFmode:
              if (pattern347 (x3, E_V8HFmode) != 0
                  || !(
#line 2898 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2235; /* fmav8hf4 */

            case E_V2SFmode:
              if (pattern347 (x3, E_V2SFmode) != 0
                  || !
#line 2898 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2236; /* fmav2sf4 */

            case E_V4SFmode:
              if (pattern347 (x3, E_V4SFmode) != 0
                  || !
#line 2898 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2237; /* fmav4sf4 */

            case E_V2DFmode:
              if (pattern347 (x3, E_V2DFmode) != 0
                  || !
#line 2898 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2238; /* 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 (pattern537 (x3, E_SFmode) != 0
                  || !
#line 6354 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 987; /* *aarch64_fmssf4 */

            case E_DFmode:
              if (pattern537 (x3, E_DFmode) != 0
                  || !
#line 6354 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 988; /* *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 (pattern449 (x3, E_HFmode) != 0
                      || !(
#line 6335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
                    return -1;
                  return 984; /* *aarch64_fnmahf4 */

                case E_SFmode:
                  if (pattern449 (x3, E_SFmode) != 0
                      || !
#line 6335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                    return -1;
                  return 985; /* *aarch64_fnmasf4 */

                case E_DFmode:
                  if (pattern449 (x3, E_DFmode) != 0
                      || !
#line 6335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                    return -1;
                  return 986; /* *aarch64_fnmadf4 */

                case E_V4HFmode:
                  if (pattern450 (x3, E_V4HFmode) != 0
                      || !(
#line 2971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 2254; /* fnmav4hf4 */

                case E_V8HFmode:
                  if (pattern450 (x3, E_V8HFmode) != 0
                      || !(
#line 2971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 2255; /* fnmav8hf4 */

                case E_V2SFmode:
                  if (pattern450 (x3, E_V2SFmode) != 0
                      || !
#line 2971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2256; /* fnmav2sf4 */

                case E_V4SFmode:
                  if (pattern450 (x3, E_V4SFmode) != 0
                      || !
#line 2971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2257; /* fnmav4sf4 */

                case E_V2DFmode:
                  if (pattern450 (x3, E_V2DFmode) != 0
                      || !
#line 2971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2258; /* 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 (pattern606 (x3, E_SFmode) != 0
                      || !
#line 6372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                    return -1;
                  return 989; /* *aarch64_fnmssf4 */

                case E_DFmode:
                  if (pattern606 (x3, E_DFmode) != 0
                      || !
#line 6372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                    return -1;
                  return 990; /* *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 (pattern787 (x3, E_V2SFmode) != 0)
                    return -1;
                  switch (GET_MODE (operands[1]))
                    {
                    case E_V2SFmode:
                      if (!register_operand (operands[1], E_V2SFmode)
                          || !
#line 2986 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2259; /* *aarch64_fnma4_eltv2sf */

                    case E_V4SFmode:
                      if (!register_operand (operands[1], E_V4SFmode)
                          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2262; /* *aarch64_fnma4_elt_to_128v2sf */

                    default:
                      return -1;
                    }

                case E_V4SFmode:
                  if (pattern787 (x3, E_V4SFmode) != 0)
                    return -1;
                  switch (GET_MODE (operands[1]))
                    {
                    case E_V4SFmode:
                      if (!register_operand (operands[1], E_V4SFmode)
                          || !
#line 2986 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2260; /* *aarch64_fnma4_eltv4sf */

                    case E_V2SFmode:
                      if (!register_operand (operands[1], E_V2SFmode)
                          || !
#line 3004 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 2263; /* *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 2986 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2261; /* *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 (pattern607 (x3, E_V4HImode, E_HImode) != 0
                      || !
#line 3020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2264; /* *aarch64_fnma4_elt_from_dupv4hi */

                case E_V8HImode:
                  if (pattern607 (x3, E_V8HImode, E_HImode) != 0
                      || !
#line 3020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2265; /* *aarch64_fnma4_elt_from_dupv8hi */

                case E_V2SImode:
                  if (pattern607 (x3, E_V2SImode, E_SImode) != 0
                      || !
#line 3020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2266; /* *aarch64_fnma4_elt_from_dupv2si */

                case E_V4SImode:
                  if (pattern607 (x3, E_V4SImode, E_SImode) != 0
                      || !
#line 3020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2267; /* *aarch64_fnma4_elt_from_dupv4si */

                case E_V4HFmode:
                  if (pattern607 (x3, E_V4HFmode, E_HFmode) != 0
                      || !(
#line 3020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 438 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 2268; /* *aarch64_fnma4_elt_from_dupv4hf */

                case E_V8HFmode:
                  if (pattern607 (x3, E_V8HFmode, E_HFmode) != 0
                      || !(
#line 3020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                    return -1;
                  return 2269; /* *aarch64_fnma4_elt_from_dupv8hf */

                case E_V2SFmode:
                  if (pattern607 (x3, E_V2SFmode, E_SFmode) != 0
                      || !
#line 3020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2270; /* *aarch64_fnma4_elt_from_dupv2sf */

                case E_V4SFmode:
                  if (pattern607 (x3, E_V4SFmode, E_SFmode) != 0
                      || !
#line 3020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2271; /* *aarch64_fnma4_elt_from_dupv4sf */

                case E_V2DFmode:
                  if (pattern607 (x3, E_V2DFmode, E_DFmode) != 0
                      || !
#line 3020 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2272; /* *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 (pattern738 (x3, E_V2SFmode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V2SFmode:
                  if (!register_operand (operands[1], E_V2SFmode)
                      || !
#line 2912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2239; /* *aarch64_fma4_eltv2sf */

                case E_V4SFmode:
                  if (!register_operand (operands[1], E_V4SFmode)
                      || !
#line 2929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2242; /* *aarch64_fma4_elt_to_128v2sf */

                default:
                  return -1;
                }

            case E_V4SFmode:
              if (pattern738 (x3, E_V4SFmode) != 0)
                return -1;
              switch (GET_MODE (operands[1]))
                {
                case E_V4SFmode:
                  if (!register_operand (operands[1], E_V4SFmode)
                      || !
#line 2912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2240; /* *aarch64_fma4_eltv4sf */

                case E_V2SFmode:
                  if (!register_operand (operands[1], E_V2SFmode)
                      || !
#line 2929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 2243; /* *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 2912 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2241; /* *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 (pattern538 (x3, E_V4HImode, E_HImode) != 0
                  || !
#line 2944 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2244; /* *aarch64_fma4_elt_from_dupv4hi */

            case E_V8HImode:
              if (pattern538 (x3, E_V8HImode, E_HImode) != 0
                  || !
#line 2944 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2245; /* *aarch64_fma4_elt_from_dupv8hi */

            case E_V2SImode:
              if (pattern538 (x3, E_V2SImode, E_SImode) != 0
                  || !
#line 2944 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2246; /* *aarch64_fma4_elt_from_dupv2si */

            case E_V4SImode:
              if (pattern538 (x3, E_V4SImode, E_SImode) != 0
                  || !
#line 2944 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2247; /* *aarch64_fma4_elt_from_dupv4si */

            case E_V4HFmode:
              if (pattern538 (x3, E_V4HFmode, E_HFmode) != 0
                  || !(
#line 2944 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 438 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2248; /* *aarch64_fma4_elt_from_dupv4hf */

            case E_V8HFmode:
              if (pattern538 (x3, E_V8HFmode, E_HFmode) != 0
                  || !(
#line 2944 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
                return -1;
              return 2249; /* *aarch64_fma4_elt_from_dupv8hf */

            case E_V2SFmode:
              if (pattern538 (x3, E_V2SFmode, E_SFmode) != 0
                  || !
#line 2944 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2250; /* *aarch64_fma4_elt_from_dupv2sf */

            case E_V4SFmode:
              if (pattern538 (x3, E_V4SFmode, E_SFmode) != 0
                  || !
#line 2944 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2251; /* *aarch64_fma4_elt_from_dupv4sf */

            case E_V2DFmode:
              if (pattern538 (x3, E_V2DFmode, E_DFmode) != 0
                  || !
#line 2944 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2252; /* *aarch64_fma4_elt_from_dupv2df */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case VEC_SELECT:
      if (pattern60 (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 2957 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2253; /* *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 3034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2273; /* *aarch64_fnma4_elt_to_64v2df */

        default:
          return -1;
        }

    case FLOAT_EXTEND:
      return recog_405 (x1, insn, pnum_clobbers);

    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, 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 (pattern280 (x3))
        {
        case 0:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2851; /* aarch64_sqaddv8qi */

        case 1:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2855; /* aarch64_sqaddv16qi */

        case 2:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2859; /* aarch64_sqaddv4hi */

        case 3:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2863; /* aarch64_sqaddv8hi */

        case 4:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2867; /* aarch64_sqaddv2si */

        case 5:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2871; /* aarch64_sqaddv4si */

        case 6:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2875; /* aarch64_sqaddv2di */

        case 7:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2879; /* aarch64_sqaddqi */

        case 8:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2883; /* aarch64_sqaddhi */

        case 9:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2887; /* aarch64_sqaddsi */

        case 10:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2891; /* aarch64_sqadddi */

        case 11:
          if (!
#line 4181 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6605; /* aarch64_sve_ssaddvnx16qi */

        case 12:
          if (!
#line 4181 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6607; /* aarch64_sve_ssaddvnx8hi */

        case 13:
          if (!
#line 4181 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6609; /* aarch64_sve_ssaddvnx4si */

        case 14:
          if (!
#line 4181 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6611; /* 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 (pattern791 (x3, E_V4SImode, E_V4HImode) != 0
                          || !
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3064; /* aarch64_sqdmlalv4hi */

                    case E_V2DImode:
                      if (pattern791 (x3, E_V2DImode, E_V2SImode) != 0
                          || !
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3065; /* aarch64_sqdmlalv2si */

                    case E_SImode:
                      if (pattern791 (x3, E_SImode, E_HImode) != 0
                          || !
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3066; /* aarch64_sqdmlalhi */

                    case E_DImode:
                      if (pattern791 (x3, E_DImode, E_SImode) != 0
                          || !
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3067; /* 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 (pattern884 (x3, E_SImode, E_HImode) != 0)
                        return -1;
                      switch (GET_MODE (operands[3]))
                        {
                        case E_V4HImode:
                          if (!register_operand (operands[3], E_V4HImode)
                              || !
#line 5575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3080; /* aarch64_sqdmlal_lanehi */

                        case E_V8HImode:
                          if (!register_operand (operands[3], E_V8HImode)
                              || !
#line 5622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3084; /* aarch64_sqdmlal_laneqhi */

                        default:
                          return -1;
                        }

                    case E_DImode:
                      if (pattern884 (x3, E_DImode, E_SImode) != 0)
                        return -1;
                      switch (GET_MODE (operands[3]))
                        {
                        case E_V2SImode:
                          if (!register_operand (operands[3], E_V2SImode)
                              || !
#line 5575 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3081; /* aarch64_sqdmlal_lanesi */

                        case E_V4SImode:
                          if (!register_operand (operands[3], E_V4SImode)
                              || !
#line 5622 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3085; /* aarch64_sqdmlal_laneqsi */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              x11 = XEXP (x10, 0);
              switch (pattern656 (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 (pattern901 (x3, E_V4HImode, E_V4SImode) != 0)
                        return -1;
                      switch (pattern953 (x10))
                        {
                        case 0:
                          if (!
#line 5478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3072; /* aarch64_sqdmlal_lanev4hi */

                        case 1:
                          if (!
#line 5551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3078; /* aarch64_sqdmlal_laneqv4hi */

                        default:
                          return -1;
                        }

                    case E_V2DImode:
                      if (pattern901 (x3, E_V2SImode, E_V2DImode) != 0)
                        return -1;
                      switch (pattern954 (x10))
                        {
                        case 0:
                          if (!
#line 5478 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3073; /* aarch64_sqdmlal_lanev2si */

                        case 1:
                          if (!
#line 5551 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3079; /* aarch64_sqdmlal_laneqv2si */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                case 1:
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern815 (x3, E_V4SImode, E_HImode, E_SImode, E_V4HImode) != 0
                          || !
#line 5685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3090; /* aarch64_sqdmlal_nv4hi */

                    case E_V2DImode:
                      if (pattern815 (x3, E_V2DImode, E_SImode, E_DImode, E_V2SImode) != 0
                          || !
#line 5685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3091; /* 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 (pattern845 (x3, E_V4SImode, E_V8HImode, E_V4HImode) != 0
                      || !
#line 5708 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3092; /* aarch64_sqdmlal2v8hi_internal */

                case E_V2DImode:
                  if (pattern845 (x3, E_V2DImode, E_V4SImode, E_V2SImode) != 0
                      || !
#line 5708 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3093; /* aarch64_sqdmlal2v4si_internal */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              x11 = XEXP (x10, 0);
              switch (pattern656 (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 (pattern910 (x3, E_V8HImode, E_V4HImode, E_V4SImode) != 0)
                        return -1;
                      switch (pattern953 (x10))
                        {
                        case 0:
                          if (!
#line 5794 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3098; /* aarch64_sqdmlal2_lanev8hi_internal */

                        case 1:
                          if (!
#line 5846 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3102; /* aarch64_sqdmlal2_laneqv8hi_internal */

                        default:
                          return -1;
                        }

                    case E_V2DImode:
                      if (pattern910 (x3, E_V4SImode, E_V2SImode, E_V2DImode) != 0)
                        return -1;
                      switch (pattern954 (x10))
                        {
                        case 0:
                          if (!
#line 5794 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3099; /* aarch64_sqdmlal2_lanev4si_internal */

                        case 1:
                          if (!
#line 5846 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3103; /* 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 (pattern846 (x3, E_V4SImode, E_HImode, E_SImode, E_V8HImode, E_V4HImode) != 0
                          || !
#line 5922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3106; /* aarch64_sqdmlal2_nv8hi_internal */

                    case E_V2DImode:
                      if (pattern846 (x3, E_V2DImode, E_SImode, E_DImode, E_V4SImode, E_V2SImode) != 0
                          || !
#line 5922 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3107; /* aarch64_sqdmlal2_nv4si_internal */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern168 (x3))
        {
        case 0:
          if (!
#line 9961 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9120; /* aarch64_sve_sqincdi_pat */

        case 1:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9154; /* *aarch64_sve_sqincdivnx16bi_cntp */

        case 2:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9157; /* *aarch64_sve_sqincdivnx8bi_cntp */

        case 3:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9160; /* *aarch64_sve_sqincdivnx4bi_cntp */

        case 4:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9163; /* *aarch64_sve_sqincdivnx2bi_cntp */

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      switch (pattern172 (x3))
        {
        case 0:
          if (!
#line 10026 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9126; /* aarch64_sve_sqincvnx2di_pat */

        case 1:
          if (!
#line 10403 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9178; /* *aarch64_sve_sqincvnx2di_cntp */

        case 2:
          if (!
#line 10047 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9129; /* aarch64_sve_sqincvnx4si_pat */

        case 3:
          if (!
#line 10442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9181; /* *aarch64_sve_sqincvnx4si_cntp */

        case 4:
          if (!
#line 10082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9132; /* *aarch64_sve_sqincvnx8hi_pat */

        case 5:
          if (!
#line 10483 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9184; /* *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 466:
          switch (pattern312 (x3))
            {
            case 0:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9750; /* aarch64_sve_qadd_sqdmullbvnx8hi */

            case 1:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9753; /* aarch64_sve_qadd_sqdmullbvnx4si */

            case 2:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9756; /* aarch64_sve_qadd_sqdmullbvnx2di */

            case 3:
              if (!
#line 1413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9759; /* aarch64_sve_qadd_sqdmullb_lane_vnx4si */

            case 4:
              if (!
#line 1413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9761; /* aarch64_sve_qadd_sqdmullb_lane_vnx2di */

            default:
              return -1;
            }

        case 467:
          x21 = XVECEXP (x4, 0, 1);
          operands[3] = x21;
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HImode:
              if (pattern306 (x3, E_VNx8HImode, E_VNx16QImode) != 0
                  || !
#line 1394 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9751; /* aarch64_sve_qadd_sqdmullbtvnx8hi */

            case E_VNx4SImode:
              if (pattern306 (x3, E_VNx4SImode, E_VNx8HImode) != 0
                  || !
#line 1394 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9754; /* aarch64_sve_qadd_sqdmullbtvnx4si */

            case E_VNx2DImode:
              if (pattern306 (x3, E_VNx2DImode, E_VNx4SImode) != 0
                  || !
#line 1394 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9757; /* aarch64_sve_qadd_sqdmullbtvnx2di */

            default:
              return -1;
            }

        case 468:
          switch (pattern312 (x3))
            {
            case 0:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9752; /* aarch64_sve_qadd_sqdmulltvnx8hi */

            case 1:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9755; /* aarch64_sve_qadd_sqdmulltvnx4si */

            case 2:
              if (!
#line 1394 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9758; /* aarch64_sve_qadd_sqdmulltvnx2di */

            case 3:
              if (!
#line 1413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9760; /* aarch64_sve_qadd_sqdmullt_lane_vnx4si */

            case 4:
              if (!
#line 1413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9762; /* aarch64_sve_qadd_sqdmullt_lane_vnx2di */

            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, 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 (pattern280 (x3))
        {
        case 0:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2853; /* aarch64_sqsubv8qi */

        case 1:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2857; /* aarch64_sqsubv16qi */

        case 2:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2861; /* aarch64_sqsubv4hi */

        case 3:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2865; /* aarch64_sqsubv8hi */

        case 4:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2869; /* aarch64_sqsubv2si */

        case 5:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2873; /* aarch64_sqsubv4si */

        case 6:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2877; /* aarch64_sqsubv2di */

        case 7:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2881; /* aarch64_sqsubqi */

        case 8:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2885; /* aarch64_sqsubhi */

        case 9:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2889; /* aarch64_sqsubsi */

        case 10:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2893; /* aarch64_sqsubdi */

        case 11:
          if (!
#line 4181 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6606; /* aarch64_sve_sssubvnx16qi */

        case 12:
          if (!
#line 4181 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6608; /* aarch64_sve_sssubvnx8hi */

        case 13:
          if (!
#line 4181 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6610; /* aarch64_sve_sssubvnx4si */

        case 14:
          if (!
#line 4181 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6612; /* 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 (pattern792 (x3, E_V4HImode, E_V4SImode) != 0
                          || !
#line 5456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3068; /* aarch64_sqdmlslv4hi */

                    case E_V2DImode:
                      if (pattern792 (x3, E_V2SImode, E_V2DImode) != 0
                          || !
#line 5456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3069; /* aarch64_sqdmlslv2si */

                    case E_SImode:
                      if (pattern792 (x3, E_HImode, E_SImode) != 0
                          || !
#line 5456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3070; /* aarch64_sqdmlslhi */

                    case E_DImode:
                      if (pattern792 (x3, E_SImode, E_DImode) != 0
                          || !
#line 5456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3071; /* 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 (pattern885 (x3, E_HImode, E_SImode) != 0)
                        return -1;
                      switch (GET_MODE (operands[3]))
                        {
                        case E_V4HImode:
                          if (!register_operand (operands[3], E_V4HImode)
                              || !
#line 5598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3082; /* aarch64_sqdmlsl_lanehi */

                        case E_V8HImode:
                          if (!register_operand (operands[3], E_V8HImode)
                              || !
#line 5645 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3086; /* aarch64_sqdmlsl_laneqhi */

                        default:
                          return -1;
                        }

                    case E_DImode:
                      if (pattern885 (x3, E_SImode, E_DImode) != 0)
                        return -1;
                      switch (GET_MODE (operands[3]))
                        {
                        case E_V2SImode:
                          if (!register_operand (operands[3], E_V2SImode)
                              || !
#line 5598 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3083; /* aarch64_sqdmlsl_lanesi */

                        case E_V4SImode:
                          if (!register_operand (operands[3], E_V4SImode)
                              || !
#line 5645 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3087; /* aarch64_sqdmlsl_laneqsi */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              x11 = XEXP (x10, 0);
              switch (pattern657 (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 (pattern902 (x3, E_V4HImode, E_V4SImode) != 0)
                        return -1;
                      switch (pattern960 (x10))
                        {
                        case 0:
                          if (!
#line 5502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3074; /* aarch64_sqdmlsl_lanev4hi */

                        case 1:
                          if (!
#line 5527 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3076; /* aarch64_sqdmlsl_laneqv4hi */

                        default:
                          return -1;
                        }

                    case E_V2DImode:
                      if (pattern902 (x3, E_V2SImode, E_V2DImode) != 0)
                        return -1;
                      switch (pattern961 (x10))
                        {
                        case 0:
                          if (!
#line 5502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3075; /* aarch64_sqdmlsl_lanev2si */

                        case 1:
                          if (!
#line 5527 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3077; /* aarch64_sqdmlsl_laneqv2si */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                case 1:
                  switch (GET_MODE (operands[0]))
                    {
                    case E_V4SImode:
                      if (pattern816 (x3, E_HImode, E_SImode, E_V4SImode, E_V4HImode) != 0
                          || !
#line 5668 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3088; /* aarch64_sqdmlsl_nv4hi */

                    case E_V2DImode:
                      if (pattern816 (x3, E_SImode, E_DImode, E_V2DImode, E_V2SImode) != 0
                          || !
#line 5668 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3089; /* 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 (pattern847 (x3, E_V8HImode, E_V4HImode, E_V4SImode) != 0
                      || !
#line 5728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3094; /* aarch64_sqdmlsl2v8hi_internal */

                case E_V2DImode:
                  if (pattern847 (x3, E_V4SImode, E_V2SImode, E_V2DImode) != 0
                      || !
#line 5728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3095; /* aarch64_sqdmlsl2v4si_internal */

                default:
                  return -1;
                }

            case VEC_DUPLICATE:
              x11 = XEXP (x10, 0);
              switch (pattern657 (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 (pattern911 (x3, E_V8HImode, E_V4HImode, E_V4SImode) != 0)
                        return -1;
                      switch (pattern960 (x10))
                        {
                        case 0:
                          if (!
#line 5768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3096; /* aarch64_sqdmlsl2_lanev8hi_internal */

                        case 1:
                          if (!
#line 5820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3100; /* aarch64_sqdmlsl2_laneqv8hi_internal */

                        default:
                          return -1;
                        }

                    case E_V2DImode:
                      if (pattern911 (x3, E_V4SImode, E_V2SImode, E_V2DImode) != 0)
                        return -1;
                      switch (pattern961 (x10))
                        {
                        case 0:
                          if (!
#line 5768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3097; /* aarch64_sqdmlsl2_lanev4si_internal */

                        case 1:
                          if (!
#line 5820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                            return -1;
                          return 3101; /* 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 (pattern848 (x3, E_HImode, E_SImode, E_V4SImode, E_V8HImode, E_V4HImode) != 0
                          || !
#line 5903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3104; /* aarch64_sqdmlsl2_nv8hi_internal */

                    case E_V2DImode:
                      if (pattern848 (x3, E_SImode, E_DImode, E_V2DImode, E_V4SImode, E_V2SImode) != 0
                          || !
#line 5903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3105; /* aarch64_sqdmlsl2_nv4si_internal */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern284 (x3))
        {
        case 0:
          if (!
#line 10111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9135; /* aarch64_sve_sqdecdi_pat */

        case 1:
          if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9187; /* *aarch64_sve_sqdecdivnx16bi_cntp */

        case 2:
          if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9190; /* *aarch64_sve_sqdecdivnx8bi_cntp */

        case 3:
          if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9193; /* *aarch64_sve_sqdecdivnx4bi_cntp */

        case 4:
          if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9196; /* *aarch64_sve_sqdecdivnx2bi_cntp */

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      switch (pattern285 (x3))
        {
        case 0:
          if (!
#line 10176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9141; /* aarch64_sve_sqdecvnx2di_pat */

        case 1:
          if (!
#line 10636 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9211; /* *aarch64_sve_sqdecvnx2di_cntp */

        case 2:
          if (!
#line 10197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9144; /* aarch64_sve_sqdecvnx4si_pat */

        case 3:
          if (!
#line 10675 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9214; /* *aarch64_sve_sqdecvnx4si_cntp */

        case 4:
          if (!
#line 10232 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9147; /* *aarch64_sve_sqdecvnx8hi_pat */

        case 5:
          if (!
#line 10716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9217; /* *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 466:
          switch (pattern410 (x3))
            {
            case 0:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9783; /* aarch64_sve_qsub_sqdmullbvnx8hi */

            case 1:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9786; /* aarch64_sve_qsub_sqdmullbvnx4si */

            case 2:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9789; /* aarch64_sve_qsub_sqdmullbvnx2di */

            case 3:
              if (!
#line 1483 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9792; /* aarch64_sve_qsub_sqdmullb_lane_vnx4si */

            case 4:
              if (!
#line 1483 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9794; /* aarch64_sve_qsub_sqdmullb_lane_vnx2di */

            default:
              return -1;
            }

        case 467:
          switch (pattern408 (x3))
            {
            case 0:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9784; /* aarch64_sve_qsub_sqdmullbtvnx8hi */

            case 1:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9787; /* aarch64_sve_qsub_sqdmullbtvnx4si */

            case 2:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9790; /* aarch64_sve_qsub_sqdmullbtvnx2di */

            default:
              return -1;
            }

        case 468:
          switch (pattern410 (x3))
            {
            case 0:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9785; /* aarch64_sve_qsub_sqdmulltvnx8hi */

            case 1:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9788; /* aarch64_sve_qsub_sqdmulltvnx4si */

            case 2:
              if (!
#line 1464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9791; /* aarch64_sve_qsub_sqdmulltvnx2di */

            case 3:
              if (!
#line 1483 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9793; /* aarch64_sve_qsub_sqdmullt_lane_vnx4si */

            case 4:
              if (!
#line 1483 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9795; /* aarch64_sve_qsub_sqdmullt_lane_vnx2di */

            default:
              return -1;
            }

        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, 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 (pattern585 (x1, E_CC_Cmode))
                {
                case 0:
                  return 164; /* *addsi3_compareC_cconly */

                case 1:
                  return 165; /* *adddi3_compareC_cconly */

                default:
                  return -1;
                }

            case CONST_INT:
              if (XWINT (x7, 0) != 0L)
                return -1;
              switch (pattern585 (x1, E_CC_NZmode))
                {
                case 0:
                  return 236; /* *addsi3nr_compare0 */

                case 1:
                  return 237; /* *adddi3nr_compare0 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case SIGN_EXTEND:
          if (pattern317 (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 (pattern833 (x3, E_SImode, E_DImode) != 0
                      || !
#line 2476 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[1]) == INTVAL (operands[2])))
                    return -1;
                  return 168; /* *addsi3_compareV_cconly_imm */

                case E_TImode:
                  if (pattern833 (x3, E_DImode, E_TImode) != 0
                      || !
#line 2476 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[1]) == INTVAL (operands[2])))
                    return -1;
                  return 169; /* *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 (pattern834 (x3, E_SImode, E_DImode) != 0)
                    return -1;
                  return 170; /* *addsi3_compareV_cconly */

                case E_TImode:
                  if (pattern834 (x3, E_DImode, E_TImode) != 0)
                    return -1;
                  return 171; /* *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 (pattern584 (x4))
        {
        case 0:
          return 238; /* aarch64_subsi_compare0 */

        case 1:
          return 239; /* 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 240; /* *compare_negsi */

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || !register_operand (operands[1], E_DImode))
            return -1;
          return 241; /* *compare_negdi */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case NEG:
          if (pattern317 (x1, SIGN_EXTEND, NEG) != 0)
            return -1;
          switch (GET_MODE (x4))
            {
            case E_DImode:
              if (pattern728 (x3, E_DImode, E_SImode) != 0)
                return -1;
              return 310; /* negvsi_cmp_only */

            case E_TImode:
              if (pattern728 (x3, E_TImode, E_DImode) != 0)
                return -1;
              return 311; /* 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 (pattern835 (x3, E_DImode, E_SImode) != 0)
                return -1;
              return 312; /* *cmpvsi_insn */

            case E_TImode:
              if (pattern835 (x3, E_TImode, E_DImode) != 0)
                return -1;
              return 313; /* *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 (pattern486 (x3))
            {
            case 0:
              return 453; /* *cmp_swp_extendqi_regsi */

            case 1:
              return 457; /* *cmp_swp_extendhi_regsi */

            case 2:
              return 461; /* *cmp_swp_extendsi_regsi */

            case 3:
              return 455; /* *cmp_swp_extendqi_regdi */

            case 4:
              return 459; /* *cmp_swp_extendhi_regdi */

            case 5:
              return 463; /* *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 441; /* cmpsi */
                  break;

                case E_DImode:
                  if (register_operand (operands[0], E_DImode)
                      && aarch64_plus_operand (operands[1], E_DImode))
                    return 442; /* cmpdi */
                  break;

                default:
                  break;
                }
            }
          break;

        case E_CCFPmode:
          switch (pattern484 (x3, E_CCFPmode))
            {
            case 0:
              if (
#line 3989 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 443; /* fcmpsf */
              break;

            case 1:
              if (
#line 3989 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 444; /* fcmpdf */
              break;

            default:
              break;
            }
          break;

        case E_CCFPEmode:
          switch (pattern484 (x3, E_CCFPEmode))
            {
            case 0:
              if (
#line 4000 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 445; /* fcmpesf */
              break;

            case 1:
              if (
#line 4000 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return 446; /* fcmpedf */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
          || GET_MODE (x2) != E_CC_Zmode
          || GET_MODE (x3) != E_CC_Zmode)
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_QImode:
          if (!register_operand (operands[0], E_QImode))
            return -1;
          return 731; /* *andqi_compare0 */

        case E_HImode:
          if (!register_operand (operands[0], E_HImode))
            return -1;
          return 732; /* *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 (pattern195 (x4))
            {
            case 0:
              return 447; /* *cmp_swp_lsl_regsi */

            case 1:
              return 450; /* *cmp_swp_lsl_regdi */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          switch (pattern587 (x4))
            {
            case 0:
              return 465; /* *cmp_swp_extendqi_shft_si */

            case 1:
              return 469; /* *cmp_swp_extendhi_shft_si */

            case 2:
              return 473; /* *cmp_swp_extendsi_shft_si */

            case 3:
              return 467; /* *cmp_swp_extendqi_shft_di */

            case 4:
              return 471; /* *cmp_swp_extendhi_shft_di */

            case 5:
              return 475; /* *cmp_swp_extendsi_shft_di */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern587 (x4))
            {
            case 0:
              return 466; /* *cmp_swp_zero_extendqi_shft_si */

            case 1:
              return 470; /* *cmp_swp_zero_extendhi_shft_si */

            case 2:
              return 474; /* *cmp_swp_zero_extendsi_shft_si */

            case 3:
              return 468; /* *cmp_swp_zero_extendqi_shft_di */

            case 4:
              return 472; /* *cmp_swp_zero_extendhi_shft_di */

            case 5:
              return 476; /* *cmp_swp_zero_extendsi_shft_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern196 (x1))
        {
        case 0:
          return 448; /* *cmp_swp_asr_regsi */

        case 1:
          return 451; /* *cmp_swp_asr_regdi */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern196 (x1))
        {
        case 0:
          return 449; /* *cmp_swp_lsr_regsi */

        case 1:
          return 452; /* *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 (pattern486 (x3))
        {
        case 0:
          return 454; /* *cmp_swp_zero_extendqi_regsi */

        case 1:
          return 458; /* *cmp_swp_zero_extendhi_regsi */

        case 2:
          return 462; /* *cmp_swp_zero_extendsi_regsi */

        case 3:
          return 456; /* *cmp_swp_zero_extendqi_regdi */

        case 4:
          return 460; /* *cmp_swp_zero_extendhi_regdi */

        case 5:
          return 464; /* *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_NZVmode
          || GET_MODE (x3) != E_CC_NZVmode)
        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 634; /* *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 635; /* *and_one_cmpldi3_compare0_no_reuse */

                default:
                  return -1;
                }

            case ASHIFT:
              switch (pattern588 (x4))
                {
                case 0:
                  return 711; /* *and_one_cmpl_ashlsi3_compare0_no_reuse */

                case 1:
                  return 716; /* *and_one_cmpl_ashldi3_compare0_no_reuse */

                default:
                  return -1;
                }

            case ASHIFTRT:
              switch (pattern588 (x4))
                {
                case 0:
                  return 712; /* *and_one_cmpl_ashrsi3_compare0_no_reuse */

                case 1:
                  return 717; /* *and_one_cmpl_ashrdi3_compare0_no_reuse */

                default:
                  return -1;
                }

            case LSHIFTRT:
              switch (pattern588 (x4))
                {
                case 0:
                  return 713; /* *and_one_cmpl_lshrsi3_compare0_no_reuse */

                case 1:
                  return 718; /* *and_one_cmpl_lshrdi3_compare0_no_reuse */

                default:
                  return -1;
                }

            case ROTATERT:
              switch (pattern588 (x4))
                {
                case 0:
                  return 714; /* *and_one_cmpl_rotrsi3_compare0_no_reuse */

                case 1:
                  return 719; /* *and_one_cmpl_rotrdi3_compare0_no_reuse */

                default:
                  return -1;
                }

            case ROTATE:
              switch (pattern588 (x4))
                {
                case 0:
                  return 715; /* *and_one_cmpl_rotlsi3_compare0_no_reuse */

                case 1:
                  return 720; /* *and_one_cmpl_rotldi3_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 737; /* *andsi3nr_compare0 */

            case E_DImode:
              if (!register_operand (operands[0], E_DImode)
                  || !aarch64_logical_operand (operands[1], E_DImode))
                return -1;
              return 738; /* *anddi3nr_compare0 */

            default:
              return -1;
            }

        case ASHIFT:
          switch (pattern521 (x4))
            {
            case 0:
              return 741; /* *and_ashlsi3nr_compare0 */

            case 1:
              return 746; /* *and_ashldi3nr_compare0 */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern521 (x4))
            {
            case 0:
              return 742; /* *and_ashrsi3nr_compare0 */

            case 1:
              return 747; /* *and_ashrdi3nr_compare0 */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern521 (x4))
            {
            case 0:
              return 743; /* *and_lshrsi3nr_compare0 */

            case 1:
              return 748; /* *and_lshrdi3nr_compare0 */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern521 (x4))
            {
            case 0:
              return 744; /* *and_rotrsi3nr_compare0 */

            case 1:
              return 749; /* *and_rotrdi3nr_compare0 */

            default:
              return -1;
            }

        case ROTATE:
          switch (pattern521 (x4))
            {
            case 0:
              return 745; /* *and_rotlsi3nr_compare0 */

            case 1:
              return 750; /* *and_rotldi3nr_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_Zmode
          || GET_MODE (x3) != E_CC_Zmode)
        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 5208 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 739; /* *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 5208 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 740; /* *anddi3nr_compare0_zextract */

        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, 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_43 (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 (pattern377 (x3, E_SImode) != 0)
            return -1;
          return 538; /* iorsi3 */

        case E_DImode:
          if (pattern377 (x3, E_DImode) != 0)
            return -1;
          return 541; /* iordi3 */

        case E_V8QImode:
          if (pattern378 (x3, E_V8QImode) != 0
              || !
#line 1027 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1772; /* iorv8qi3 */

        case E_V16QImode:
          if (pattern378 (x3, E_V16QImode) != 0
              || !
#line 1027 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1773; /* iorv16qi3 */

        case E_V4HImode:
          if (pattern378 (x3, E_V4HImode) != 0
              || !
#line 1027 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1774; /* iorv4hi3 */

        case E_V8HImode:
          if (pattern378 (x3, E_V8HImode) != 0
              || !
#line 1027 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1775; /* iorv8hi3 */

        case E_V2SImode:
          if (pattern378 (x3, E_V2SImode) != 0
              || !
#line 1027 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1776; /* iorv2si3 */

        case E_V4SImode:
          if (pattern378 (x3, E_V4SImode) != 0
              || !
#line 1027 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1777; /* iorv4si3 */

        case E_V2DImode:
          if (pattern378 (x3, E_V2DImode) != 0
              || !
#line 1027 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1778; /* iorv2di3 */

        case E_VNx16QImode:
          if (pattern379 (x3, E_VNx16QImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6674; /* iorvnx16qi3 */

        case E_VNx8QImode:
          if (pattern379 (x3, E_VNx8QImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6677; /* iorvnx8qi3 */

        case E_VNx4QImode:
          if (pattern379 (x3, E_VNx4QImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6680; /* iorvnx4qi3 */

        case E_VNx2QImode:
          if (pattern379 (x3, E_VNx2QImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6683; /* iorvnx2qi3 */

        case E_VNx8HImode:
          if (pattern379 (x3, E_VNx8HImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6686; /* iorvnx8hi3 */

        case E_VNx4HImode:
          if (pattern379 (x3, E_VNx4HImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6689; /* iorvnx4hi3 */

        case E_VNx2HImode:
          if (pattern379 (x3, E_VNx2HImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6692; /* iorvnx2hi3 */

        case E_VNx4SImode:
          if (pattern379 (x3, E_VNx4SImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6695; /* iorvnx4si3 */

        case E_VNx2SImode:
          if (pattern379 (x3, E_VNx2SImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6698; /* iorvnx2si3 */

        case E_VNx2DImode:
          if (pattern379 (x3, E_VNx2DImode) != 0
              || !
#line 4433 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6701; /* 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 (pattern44 (x3))
                {
                case 0:
                  return 565; /* *ior_ashlsi3 */

                case 1:
                  return 580; /* *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
                  || pattern535 (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 5762 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 816; /* *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 (pattern725 (x3, E_SImode) != 0
                      || !
#line 5705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 810; /* *extrsi5_insn */

                case E_DImode:
                  if (pattern725 (x3, E_DImode) != 0
                      || !
#line 5705 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 811; /* *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 (pattern535 (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 5976 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 851; /* *aarch64_bfisi4_noand_alt */

                case E_DImode:
                  if (pattern535 (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 5976 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 852; /* *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 7787 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
            return -1;
          return 1217; /* gmi */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern45 (x3))
        {
        case 0:
          return 568; /* *ior_ashrsi3 */

        case 1:
          return 583; /* *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 (pattern44 (x3))
            {
            case 0:
              return 571; /* *ior_lshrsi3 */

            case 1:
              return 586; /* *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 (pattern677 (x3, E_SImode) != 0
                  || !
#line 5719 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 812; /* *extrsi5_insn_alt */

            case E_DImode:
              if (pattern677 (x3, E_DImode) != 0
                  || !
#line 5719 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 813; /* *extrdi5_insn_alt */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ROTATERT:
      switch (pattern45 (x3))
        {
        case 0:
          return 574; /* *ior_rotrsi3 */

        case 1:
          return 589; /* *ior_rotrdi3 */

        default:
          return -1;
        }

    case ROTATE:
      switch (pattern45 (x3))
        {
        case 0:
          return 577; /* *ior_rotlsi3 */

        case 1:
          return 592; /* *ior_rotldi3 */

        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 (pattern475 (x3, E_SImode) != 0)
                return -1;
              return 623; /* *ior_one_cmplsi3 */

            case E_DImode:
              if (pattern475 (x3, E_DImode) != 0)
                return -1;
              return 625; /* *ior_one_cmpldi3 */

            case E_V8QImode:
              if (pattern475 (x3, E_V8QImode) != 0
                  || !
#line 392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1505; /* ornv8qi3 */

            case E_V16QImode:
              if (pattern475 (x3, E_V16QImode) != 0
                  || !
#line 392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1506; /* ornv16qi3 */

            case E_V4HImode:
              if (pattern475 (x3, E_V4HImode) != 0
                  || !
#line 392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1507; /* ornv4hi3 */

            case E_V8HImode:
              if (pattern475 (x3, E_V8HImode) != 0
                  || !
#line 392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1508; /* ornv8hi3 */

            case E_V2SImode:
              if (pattern475 (x3, E_V2SImode) != 0
                  || !
#line 392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1509; /* ornv2si3 */

            case E_V4SImode:
              if (pattern475 (x3, E_V4SImode) != 0
                  || !
#line 392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1510; /* ornv4si3 */

            case E_V2DImode:
              if (pattern475 (x3, E_V2DImode) != 0
                  || !
#line 392 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1511; /* ornv2di3 */

            default:
              return -1;
            }

        case ASHIFT:
          switch (pattern191 (x3))
            {
            case 0:
              return 637; /* ior_one_cmpl_ashlsi3 */

            case 1:
              return 652; /* ior_one_cmpl_ashldi3 */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern191 (x3))
            {
            case 0:
              return 640; /* ior_one_cmpl_ashrsi3 */

            case 1:
              return 655; /* ior_one_cmpl_ashrdi3 */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern191 (x3))
            {
            case 0:
              return 643; /* ior_one_cmpl_lshrsi3 */

            case 1:
              return 658; /* ior_one_cmpl_lshrdi3 */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern191 (x3))
            {
            case 0:
              return 646; /* ior_one_cmpl_rotrsi3 */

            case 1:
              return 661; /* ior_one_cmpl_rotrdi3 */

            default:
              return -1;
            }

        case ROTATE:
          switch (pattern191 (x3))
            {
            case 0:
              return 649; /* ior_one_cmpl_rotlsi3 */

            case 1:
              return 664; /* ior_one_cmpl_rotldi3 */

            default:
              return -1;
            }

        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;
  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_407 (x1, insn, pnum_clobbers);

    case REG:
    case SUBREG:
    case MEM:
      operands[1] = x4;
      switch (GET_CODE (operands[1]))
        {
        case REG:
        case SUBREG:
          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_QImode)
                  && 
#line 69 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1227; /* aarch64_simd_dupv8qi */
              break;

            case E_V16QImode:
              if (register_operand (operands[0], E_V16QImode)
                  && GET_MODE (x3) == E_V16QImode
                  && register_operand (operands[1], E_QImode)
                  && 
#line 69 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1228; /* aarch64_simd_dupv16qi */
              break;

            case E_V4HImode:
              if (register_operand (operands[0], E_V4HImode)
                  && GET_MODE (x3) == E_V4HImode
                  && register_operand (operands[1], E_HImode)
                  && 
#line 69 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1229; /* aarch64_simd_dupv4hi */
              break;

            case E_V8HImode:
              if (register_operand (operands[0], E_V8HImode)
                  && GET_MODE (x3) == E_V8HImode
                  && register_operand (operands[1], E_HImode)
                  && 
#line 69 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1230; /* aarch64_simd_dupv8hi */
              break;

            case E_V2SImode:
              if (register_operand (operands[0], E_V2SImode)
                  && GET_MODE (x3) == E_V2SImode
                  && register_operand (operands[1], E_SImode)
                  && 
#line 69 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1231; /* aarch64_simd_dupv2si */
              break;

            case E_V4SImode:
              if (register_operand (operands[0], E_V4SImode)
                  && GET_MODE (x3) == E_V4SImode
                  && register_operand (operands[1], E_SImode)
                  && 
#line 69 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1232; /* aarch64_simd_dupv4si */
              break;

            case E_V2DImode:
              if (register_operand (operands[0], E_V2DImode)
                  && GET_MODE (x3) == E_V2DImode
                  && register_operand (operands[1], E_DImode)
                  && 
#line 69 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1233; /* aarch64_simd_dupv2di */
              break;

            case E_V4HFmode:
              if (register_operand (operands[0], E_V4HFmode)
                  && GET_MODE (x3) == E_V4HFmode
                  && register_operand (operands[1], E_HFmode)
                  && 
#line 80 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1234; /* aarch64_simd_dupv4hf */
              break;

            case E_V8HFmode:
              if (register_operand (operands[0], E_V8HFmode)
                  && GET_MODE (x3) == E_V8HFmode
                  && register_operand (operands[1], E_HFmode)
                  && 
#line 80 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1235; /* aarch64_simd_dupv8hf */
              break;

            case E_V2SFmode:
              if (register_operand (operands[0], E_V2SFmode)
                  && GET_MODE (x3) == E_V2SFmode
                  && register_operand (operands[1], E_SFmode)
                  && 
#line 80 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1236; /* aarch64_simd_dupv2sf */
              break;

            case E_V4SFmode:
              if (register_operand (operands[0], E_V4SFmode)
                  && GET_MODE (x3) == E_V4SFmode
                  && register_operand (operands[1], E_SFmode)
                  && 
#line 80 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1237; /* aarch64_simd_dupv4sf */
              break;

            case E_V2DFmode:
              if (register_operand (operands[0], E_V2DFmode)
                  && GET_MODE (x3) == E_V2DFmode
                  && register_operand (operands[1], E_DFmode)
                  && 
#line 80 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1238; /* aarch64_simd_dupv2df */
              break;

            case E_V4BFmode:
              if (register_operand (operands[0], E_V4BFmode)
                  && GET_MODE (x3) == E_V4BFmode
                  && register_operand (operands[1], E_BFmode)
                  && 
#line 80 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1239; /* aarch64_simd_dupv4bf */
              break;

            case E_V8BFmode:
              if (register_operand (operands[0], E_V8BFmode)
                  && GET_MODE (x3) == E_V8BFmode
                  && register_operand (operands[1], E_BFmode)
                  && 
#line 80 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 1240; /* aarch64_simd_dupv8bf */
              break;

            default:
              break;
            }
          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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4273; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4274; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4275; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4276; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4277; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4278; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4279; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4280; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4281; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4282; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4283; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4284; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4285; /* *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 8019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return 4286; /* *aarch64_simd_ld1rv2df */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      if (pnum_clobbers == NULL)
        return -1;
      return recog_406 (x1, insn, pnum_clobbers);

    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, 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 1156; /* 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 (pattern540 (x2, E_QImode) != 0)
                return -1;
              return 1185; /* despeculate_simpleqi */

            case E_HImode:
              if (pattern540 (x2, E_HImode) != 0)
                return -1;
              return 1186; /* despeculate_simplehi */

            case E_SImode:
              if (pattern540 (x2, E_SImode) != 0)
                return -1;
              return 1187; /* despeculate_simplesi */

            case E_DImode:
              if (pattern541 (x2, E_DImode) != 0)
                return -1;
              return 1188; /* despeculate_simpledi */

            case E_TImode:
              if (pattern541 (x2, E_TImode) != 0)
                return -1;
              return 1189; /* despeculate_simpleti */

            default:
              return -1;
            }

        case 26:
          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 (pattern543 (x2))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4442; /* aarch64_atomic_addqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4447; /* aarch64_atomic_addhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4452; /* aarch64_atomic_addsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4457; /* aarch64_atomic_adddi */

                default:
                  return -1;
                }

            case MINUS:
              switch (pattern543 (x2))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4443; /* aarch64_atomic_subqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4448; /* aarch64_atomic_subhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4453; /* aarch64_atomic_subsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4458; /* aarch64_atomic_subdi */

                default:
                  return -1;
                }

            case IOR:
              switch (pattern545 (x2))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4444; /* aarch64_atomic_orqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4449; /* aarch64_atomic_orhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4454; /* aarch64_atomic_orsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4459; /* aarch64_atomic_ordi */

                default:
                  return -1;
                }

            case XOR:
              switch (pattern545 (x2))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4445; /* aarch64_atomic_xorqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4450; /* aarch64_atomic_xorhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4455; /* aarch64_atomic_xorsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4460; /* aarch64_atomic_xordi */

                default:
                  return -1;
                }

            case AND:
              switch (pattern545 (x2))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4446; /* aarch64_atomic_andqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4451; /* aarch64_atomic_andhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4456; /* aarch64_atomic_andsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4461; /* 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 (pattern741 (x2, E_QImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4478; /* atomic_nandqi */

                case E_HImode:
                  if (pattern741 (x2, E_HImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4479; /* atomic_nandhi */

                case E_SImode:
                  if (pattern741 (x2, E_SImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4480; /* atomic_nandsi */

                case E_DImode:
                  if (pattern741 (x2, E_DImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4481; /* atomic_nanddi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case 20:
          switch (pattern272 (x2))
            {
            case 0:
              if (!
#line 687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC))
                return -1;
              return 4555; /* aarch64_atomic_loadqi_rcpc */

            case 1:
              if (!
#line 687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC))
                return -1;
              return 4556; /* aarch64_atomic_loadhi_rcpc */

            case 2:
              if (!
#line 687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC))
                return -1;
              return 4557; /* aarch64_atomic_loadsi_rcpc */

            case 3:
              if (!
#line 687 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC))
                return -1;
              return 4558; /* aarch64_atomic_loaddi_rcpc */

            default:
              return -1;
            }

        case 19:
          switch (pattern272 (x2))
            {
            case 0:
              return 4559; /* aarch64_atomic_loadqi */

            case 1:
              return 4560; /* aarch64_atomic_loadhi */

            case 2:
              return 4561; /* aarch64_atomic_loadsi */

            case 3:
              return 4562; /* aarch64_atomic_loaddi */

            default:
              return -1;
            }

        case 21:
          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 4573; /* 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 4574; /* 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 4575; /* 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 4576; /* 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 4579; /* 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 4580; /* 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 (pattern608 (x2, E_SImode) != 0
                  || !(
#line 7361 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                return -1;
              return 1157; /* probe_sve_stack_clash_si */

            case E_DImode:
              if (pattern608 (x2, E_DImode) != 0
                  || !(
#line 7361 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                return -1;
              return 1158; /* 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 (pattern844 (x2, E_QImode) != 0)
                return -1;
              return 1180; /* *despeculate_copyqi_insn */

            case E_HImode:
              if (pattern844 (x2, E_HImode) != 0)
                return -1;
              return 1181; /* *despeculate_copyhi_insn */

            case E_SImode:
              if (pattern844 (x2, E_SImode) != 0)
                return -1;
              return 1182; /* *despeculate_copysi_insn */

            case E_DImode:
              if (pattern844 (x2, E_DImode) != 0)
                return -1;
              return 1183; /* *despeculate_copydi_insn */

            case E_TImode:
              if (pattern844 (x2, E_TImode) != 0)
                return -1;
              return 1184; /* *despeculate_copyti_insn */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 1:
      switch (XINT (x2, 1))
        {
        case 3:
          switch (pattern165 (x1))
            {
            case 0:
              return 1169; /* aarch64_get_fpsrsi */

            case 1:
              return 1171; /* aarch64_get_fpsrdi */

            default:
              return -1;
            }

        case 1:
          switch (pattern165 (x1))
            {
            case 0:
              return 1170; /* aarch64_get_fpcrsi */

            case 1:
              return 1172; /* 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 7858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_LS64))
            return -1;
          return 1222; /* 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 7868 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_LS64))
            return -1;
          return 1223; /* 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 27:
          switch (pattern609 (x2))
            {
            case 0:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4462; /* aarch64_atomic_iorqi_lse */

            case 1:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4466; /* aarch64_atomic_iorhi_lse */

            case 2:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4470; /* aarch64_atomic_iorsi_lse */

            case 3:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4474; /* aarch64_atomic_iordi_lse */

            default:
              return -1;
            }

        case 28:
          switch (pattern609 (x2))
            {
            case 0:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4463; /* aarch64_atomic_bicqi_lse */

            case 1:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4467; /* aarch64_atomic_bichi_lse */

            case 2:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4471; /* aarch64_atomic_bicsi_lse */

            case 3:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4475; /* aarch64_atomic_bicdi_lse */

            default:
              return -1;
            }

        case 29:
          switch (pattern609 (x2))
            {
            case 0:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4464; /* aarch64_atomic_xorqi_lse */

            case 1:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4468; /* aarch64_atomic_xorhi_lse */

            case 2:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4472; /* aarch64_atomic_xorsi_lse */

            case 3:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4476; /* aarch64_atomic_xordi_lse */

            default:
              return -1;
            }

        case 30:
          switch (pattern609 (x2))
            {
            case 0:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4465; /* aarch64_atomic_addqi_lse */

            case 1:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4469; /* aarch64_atomic_addhi_lse */

            case 2:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4473; /* aarch64_atomic_addsi_lse */

            case 3:
              if (!
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              *pnum_clobbers = 1;
              return 4477; /* aarch64_atomic_adddi_lse */

            default:
              return -1;
            }

        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];
  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_58 (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 (pattern522 (x3, E_SImode) != 0)
                return -1;
              return 367; /* *subsi3_carryin */

            case E_DImode:
              if (pattern522 (x3, E_DImode) != 0)
                return -1;
              return 368; /* *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 (pattern523 (x3, E_SImode) != 0)
                return -1;
              return 370; /* *subsi3_carryin_alt */

            case E_DImode:
              if (pattern523 (x3, E_DImode) != 0)
                return -1;
              return 371; /* *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 (pattern412 (x3, E_SImode) != 0)
            return -1;
          return 391; /* *ngcsi */

        case E_DImode:
          if (pattern412 (x3, E_DImode) != 0)
            return -1;
          return 392; /* *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 (pattern524 (x3, E_SImode) != 0
                  || !
#line 4517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE))
                return -1;
              return 525; /* aarch64_uqdecsi */

            case E_DImode:
              if (pattern524 (x3, E_DImode) != 0
                  || !
#line 4517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE))
                return -1;
              return 526; /* aarch64_uqdecdi */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          x7 = XEXP (x3, 1);
          if (GET_CODE (x7) != UMIN)
            return -1;
          switch (pattern414 (x3))
            {
            case 0:
              if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1698; /* aarch64_uabdv8qi */

            case 1:
              if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1700; /* aarch64_uabdv16qi */

            case 2:
              if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1702; /* aarch64_uabdv4hi */

            case 3:
              if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1704; /* aarch64_uabdv8hi */

            case 4:
              if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1706; /* aarch64_uabdv2si */

            case 5:
              if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 1708; /* 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 7816 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_MEMTAG))
        return -1;
      return 1219; /* 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 (pattern414 (x3))
        {
        case 0:
          if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1697; /* aarch64_sabdv8qi */

        case 1:
          if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1699; /* aarch64_sabdv16qi */

        case 2:
          if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1701; /* aarch64_sabdv4hi */

        case 3:
          if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1703; /* aarch64_sabdv8hi */

        case 4:
          if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1705; /* aarch64_sabdv2si */

        case 5:
          if (!
#line 869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1707; /* aarch64_sabdv4si */

        default:
          return -1;
        }

    case SIGN_EXTEND:
      switch (pattern57 (x3, SIGN_EXTEND))
        {
        case 0:
          if (vect_par_cnst_hi_half (operands[3], E_V16QImode)
              && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2668; /* aarch64_ssublv16qi_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V16QImode)
              || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2680; /* aarch64_ssublv16qi_lo_internal */

        case 1:
          if (vect_par_cnst_hi_half (operands[3], E_V8HImode)
              && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2672; /* aarch64_ssublv8hi_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V8HImode)
              || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2684; /* aarch64_ssublv8hi_lo_internal */

        case 2:
          if (vect_par_cnst_hi_half (operands[3], E_V4SImode)
              && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2676; /* aarch64_ssublv4si_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V4SImode)
              || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2688; /* aarch64_ssublv4si_lo_internal */

        case 3:
          if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2692; /* aarch64_ssublv8qi */

        case 4:
          if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2696; /* aarch64_ssublv4hi */

        case 5:
          if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2700; /* aarch64_ssublv2si */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern57 (x3, ZERO_EXTEND))
        {
        case 0:
          if (vect_par_cnst_hi_half (operands[3], E_V16QImode)
              && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2670; /* aarch64_usublv16qi_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V16QImode)
              || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2682; /* aarch64_usublv16qi_lo_internal */

        case 1:
          if (vect_par_cnst_hi_half (operands[3], E_V8HImode)
              && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2674; /* aarch64_usublv8hi_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V8HImode)
              || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2686; /* aarch64_usublv8hi_lo_internal */

        case 2:
          if (vect_par_cnst_hi_half (operands[3], E_V4SImode)
              && 
#line 4449 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2678; /* aarch64_usublv4si_hi_internal */
          if (!vect_par_cnst_lo_half (operands[3], E_V4SImode)
              || !
#line 4462 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2690; /* aarch64_usublv4si_lo_internal */

        case 3:
          if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2694; /* aarch64_usublv8qi */

        case 4:
          if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2698; /* aarch64_usublv4hi */

        case 5:
          if (!
#line 4569 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2702; /* aarch64_usublv2si */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 119)
        return -1;
      x7 = XEXP (x3, 1);
      if (GET_CODE (x7) != UNSPEC
          || XVECLEN (x7, 0) != 2
          || XINT (x7, 1) != 119)
        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 (pattern686 (x3, SMIN))
            {
            case 0:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6525; /* aarch64_pred_sabdvnx16qi */

            case 1:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6527; /* aarch64_pred_sabdvnx8qi */

            case 2:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6529; /* aarch64_pred_sabdvnx4qi */

            case 3:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6531; /* aarch64_pred_sabdvnx2qi */

            case 4:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6533; /* aarch64_pred_sabdvnx8hi */

            case 5:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6535; /* aarch64_pred_sabdvnx4hi */

            case 6:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6537; /* aarch64_pred_sabdvnx2hi */

            case 7:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6539; /* aarch64_pred_sabdvnx4si */

            case 8:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6541; /* aarch64_pred_sabdvnx2si */

            case 9:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6543; /* aarch64_pred_sabdvnx2di */

            default:
              return -1;
            }

        case UMAX:
          switch (pattern686 (x3, UMIN))
            {
            case 0:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6526; /* aarch64_pred_uabdvnx16qi */

            case 1:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6528; /* aarch64_pred_uabdvnx8qi */

            case 2:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6530; /* aarch64_pred_uabdvnx4qi */

            case 3:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6532; /* aarch64_pred_uabdvnx2qi */

            case 4:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6534; /* aarch64_pred_uabdvnx8hi */

            case 5:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6536; /* aarch64_pred_uabdvnx4hi */

            case 6:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6538; /* aarch64_pred_uabdvnx2hi */

            case 7:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6540; /* aarch64_pred_uabdvnx4si */

            case 8:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6542; /* aarch64_pred_uabdvnx2si */

            case 9:
              if (!
#line 4025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 6544; /* aarch64_pred_uabdvnx2di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    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];
  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 (pattern610 (x2, E_V8QImode, E_QImode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1793; /* aarch64_simd_vec_setv8qi */

        case E_V16QImode:
          if (pattern610 (x2, E_V16QImode, E_QImode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1794; /* aarch64_simd_vec_setv16qi */

        case E_V4HImode:
          if (pattern610 (x2, E_V4HImode, E_HImode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1795; /* aarch64_simd_vec_setv4hi */

        case E_V8HImode:
          if (pattern610 (x2, E_V8HImode, E_HImode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1796; /* aarch64_simd_vec_setv8hi */

        case E_V2SImode:
          if (pattern610 (x2, E_V2SImode, E_SImode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1797; /* aarch64_simd_vec_setv2si */

        case E_V4SImode:
          if (pattern610 (x2, E_V4SImode, E_SImode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1798; /* aarch64_simd_vec_setv4si */

        case E_V2DImode:
          if (pattern610 (x2, E_V2DImode, E_DImode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1799; /* aarch64_simd_vec_setv2di */

        case E_V4HFmode:
          if (pattern610 (x2, E_V4HFmode, E_HFmode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1800; /* aarch64_simd_vec_setv4hf */

        case E_V8HFmode:
          if (pattern610 (x2, E_V8HFmode, E_HFmode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1801; /* aarch64_simd_vec_setv8hf */

        case E_V4BFmode:
          if (pattern610 (x2, E_V4BFmode, E_BFmode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1802; /* aarch64_simd_vec_setv4bf */

        case E_V8BFmode:
          if (pattern610 (x2, E_V8BFmode, E_BFmode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1803; /* aarch64_simd_vec_setv8bf */

        case E_V2SFmode:
          if (pattern610 (x2, E_V2SFmode, E_SFmode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1804; /* aarch64_simd_vec_setv2sf */

        case E_V4SFmode:
          if (pattern610 (x2, E_V4SFmode, E_SFmode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1805; /* aarch64_simd_vec_setv4sf */

        case E_V2DFmode:
          if (pattern610 (x2, E_V2DFmode, E_DFmode) != 0
              || !
#line 1067 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1806; /* 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 (pattern789 (x2, E_V8QImode, E_QImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V8QImode:
              if (!register_operand (operands[3], E_V8QImode)
                  || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1807; /* aarch64_simd_vec_copy_lanev8qi */

            case E_V16QImode:
              if (!register_operand (operands[3], E_V16QImode)
                  || !
#line 1117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1821; /* *aarch64_simd_vec_copy_lane_to_128v8qi */

            default:
              return -1;
            }

        case E_V16QImode:
          if (pattern789 (x2, E_V16QImode, E_QImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V16QImode:
              if (!register_operand (operands[3], E_V16QImode)
                  || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1808; /* aarch64_simd_vec_copy_lanev16qi */

            case E_V8QImode:
              if (!register_operand (operands[3], E_V8QImode)
                  || !
#line 1117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1822; /* *aarch64_simd_vec_copy_lane_to_64v16qi */

            default:
              return -1;
            }

        case E_V4HImode:
          if (pattern789 (x2, E_V4HImode, E_HImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V4HImode:
              if (!register_operand (operands[3], E_V4HImode)
                  || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1809; /* aarch64_simd_vec_copy_lanev4hi */

            case E_V8HImode:
              if (!register_operand (operands[3], E_V8HImode)
                  || !
#line 1117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1823; /* *aarch64_simd_vec_copy_lane_to_128v4hi */

            default:
              return -1;
            }

        case E_V8HImode:
          if (pattern789 (x2, E_V8HImode, E_HImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V8HImode:
              if (!register_operand (operands[3], E_V8HImode)
                  || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1810; /* aarch64_simd_vec_copy_lanev8hi */

            case E_V4HImode:
              if (!register_operand (operands[3], E_V4HImode)
                  || !
#line 1117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1824; /* *aarch64_simd_vec_copy_lane_to_64v8hi */

            default:
              return -1;
            }

        case E_V2SImode:
          if (pattern789 (x2, E_V2SImode, E_SImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V2SImode:
              if (!register_operand (operands[3], E_V2SImode)
                  || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1811; /* aarch64_simd_vec_copy_lanev2si */

            case E_V4SImode:
              if (!register_operand (operands[3], E_V4SImode)
                  || !
#line 1117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1825; /* *aarch64_simd_vec_copy_lane_to_128v2si */

            default:
              return -1;
            }

        case E_V4SImode:
          if (pattern789 (x2, E_V4SImode, E_SImode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V4SImode:
              if (!register_operand (operands[3], E_V4SImode)
                  || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1812; /* aarch64_simd_vec_copy_lanev4si */

            case E_V2SImode:
              if (!register_operand (operands[3], E_V2SImode)
                  || !
#line 1117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1826; /* *aarch64_simd_vec_copy_lane_to_64v4si */

            default:
              return -1;
            }

        case E_V2DImode:
          if (pattern790 (x2, E_V2DImode, E_DImode) != 0
              || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1813; /* aarch64_simd_vec_copy_lanev2di */

        case E_V4HFmode:
          if (pattern789 (x2, E_V4HFmode, E_HFmode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V4HFmode:
              if (!register_operand (operands[3], E_V4HFmode)
                  || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1814; /* aarch64_simd_vec_copy_lanev4hf */

            case E_V8HFmode:
              if (!register_operand (operands[3], E_V8HFmode)
                  || !
#line 1117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1827; /* *aarch64_simd_vec_copy_lane_to_128v4hf */

            default:
              return -1;
            }

        case E_V8HFmode:
          if (pattern789 (x2, E_V8HFmode, E_HFmode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V8HFmode:
              if (!register_operand (operands[3], E_V8HFmode)
                  || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1815; /* aarch64_simd_vec_copy_lanev8hf */

            case E_V4HFmode:
              if (!register_operand (operands[3], E_V4HFmode)
                  || !
#line 1117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1828; /* *aarch64_simd_vec_copy_lane_to_64v8hf */

            default:
              return -1;
            }

        case E_V4BFmode:
          if (pattern790 (x2, E_V4BFmode, E_BFmode) != 0
              || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1816; /* aarch64_simd_vec_copy_lanev4bf */

        case E_V8BFmode:
          if (pattern790 (x2, E_V8BFmode, E_BFmode) != 0
              || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1817; /* aarch64_simd_vec_copy_lanev8bf */

        case E_V2SFmode:
          if (pattern789 (x2, E_V2SFmode, E_SFmode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V2SFmode:
              if (!register_operand (operands[3], E_V2SFmode)
                  || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1818; /* aarch64_simd_vec_copy_lanev2sf */

            case E_V4SFmode:
              if (!register_operand (operands[3], E_V4SFmode)
                  || !
#line 1117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1829; /* *aarch64_simd_vec_copy_lane_to_128v2sf */

            default:
              return -1;
            }

        case E_V4SFmode:
          if (pattern789 (x2, E_V4SFmode, E_SFmode) != 0)
            return -1;
          switch (GET_MODE (operands[3]))
            {
            case E_V4SFmode:
              if (!register_operand (operands[3], E_V4SFmode)
                  || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1819; /* aarch64_simd_vec_copy_lanev4sf */

            case E_V2SFmode:
              if (!register_operand (operands[3], E_V2SFmode)
                  || !
#line 1117 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
                return -1;
              return 1830; /* *aarch64_simd_vec_copy_lane_to_64v4sf */

            default:
              return -1;
            }

        case E_V2DFmode:
          if (pattern790 (x2, E_V2DFmode, E_DFmode) != 0
              || !
#line 1096 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD && exact_log2 (INTVAL (operands[2])) >= 0))
            return -1;
          return 1820; /* aarch64_simd_vec_copy_lanev2df */

        default:
          return -1;
        }

    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;
  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 (pattern295 (x3))
            {
            case 0:
              return 142; /* *extendsidi2_aarch64 */

            case 1:
              return 148; /* *extendqidi2_aarch64 */

            case 2:
              return 149; /* *extendhidi2_aarch64 */

            default:
              return -1;
            }

        case E_SImode:
          switch (pattern296 (x3))
            {
            case 0:
              return 146; /* *extendqisi2_aarch64 */

            case 1:
              return 147; /* *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 154; /* *extendqihi2_aarch64 */

        case E_V8HImode:
          if (!register_operand (operands[0], E_V8HImode)
              || GET_MODE (x3) != E_V8HImode
              || !register_operand (operands[1], E_V8QImode)
              || !
#line 9021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4391; /* extendv8qiv8hi2 */

        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x3) != E_V4SImode
              || !register_operand (operands[1], E_V4HImode)
              || !
#line 9021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4393; /* extendv4hiv4si2 */

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x3) != E_V2DImode
              || !register_operand (operands[1], E_V2SImode)
              || !
#line 9021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4395; /* extendv2siv2di2 */

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern47 (x3))
        {
        case 0:
          if (!
#line 5774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 817; /* *extendsi_ashlqi */

        case 1:
          if (!
#line 5774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 819; /* *extendsi_ashlhi */

        case 2:
          if (!
#line 5774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 821; /* *extenddi_ashlqi */

        case 3:
          if (!
#line 5774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 823; /* *extenddi_ashlhi */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern47 (x3))
        {
        case 0:
          if (!
#line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 829; /* *extendsi_ashrqi */

        case 1:
          if (!
#line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 830; /* *extendsi_ashrhi */

        case 2:
          if (!
#line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
            return -1;
          return 831; /* *extenddi_ashrqi */

        case 3:
          if (!
#line 5800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
            return -1;
          return 832; /* *extenddi_ashrhi */

        default:
          return -1;
        }

    case VEC_SELECT:
      x5 = XEXP (x4, 1);
      if (GET_CODE (x5) != PARALLEL)
        return -1;
      operands[2] = x5;
      switch (pattern298 (x3))
        {
        case 0:
          if (vect_par_cnst_lo_half (operands[2], E_V16QImode)
              && 
#line 2019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2066; /* aarch64_simd_vec_unpacks_lo_v16qi */
          if (vect_par_cnst_hi_half (operands[2], E_V16QImode)
              && 
#line 2030 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2072; /* aarch64_simd_vec_unpacks_hi_v16qi */
          break;

        case 1:
          if (vect_par_cnst_lo_half (operands[2], E_V8HImode)
              && 
#line 2019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2068; /* aarch64_simd_vec_unpacks_lo_v8hi */
          if (vect_par_cnst_hi_half (operands[2], E_V8HImode)
              && 
#line 2030 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2074; /* aarch64_simd_vec_unpacks_hi_v8hi */
          break;

        case 2:
          if (vect_par_cnst_lo_half (operands[2], E_V4SImode)
              && 
#line 2019 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2070; /* aarch64_simd_vec_unpacks_lo_v4si */
          if (vect_par_cnst_hi_half (operands[2], E_V4SImode)
              && 
#line 2030 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2076; /* aarch64_simd_vec_unpacks_hi_v4si */
          break;

        default:
          break;
        }
      if (XVECLEN (x5, 0) != 1)
        return -1;
      switch (pattern300 (x3))
        {
        case 0:
          if (!
#line 4194 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2575; /* *aarch64_get_lane_extendsiv8qi */

        case 1:
          if (!
#line 4194 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2577; /* *aarch64_get_lane_extendsiv16qi */

        case 2:
          if (!
#line 4194 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2579; /* *aarch64_get_lane_extendsiv4hi */

        case 3:
          if (!
#line 4194 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2581; /* *aarch64_get_lane_extendsiv8hi */

        case 4:
          if (!
#line 4194 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2576; /* *aarch64_get_lane_extenddiv8qi */

        case 5:
          if (!
#line 4194 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2578; /* *aarch64_get_lane_extenddiv16qi */

        case 6:
          if (!
#line 4194 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2580; /* *aarch64_get_lane_extenddiv4hi */

        case 7:
          if (!
#line 4194 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2582; /* *aarch64_get_lane_extenddiv8hi */

        default:
          return -1;
        }

    case UNSPEC_VOLATILE:
      if (XVECLEN (x4, 0) != 2
          || XINT (x4, 1) != 20)
        return -1;
      x6 = XVECEXP (x4, 0, 0);
      operands[1] = x6;
      x7 = XVECEXP (x4, 0, 1);
      operands[2] = x7;
      if (!const_int_operand (operands[2], E_SImode))
        return -1;
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          switch (pattern518 (x3))
            {
            case 0:
              if (!
#line 725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC2 && (32 > 8)))
                return -1;
              return 4568; /* *aarch64_atomic_loadqi_rcpc_sext */

            case 1:
              if (!
#line 725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC2 && (32 > 16)))
                return -1;
              return 4570; /* *aarch64_atomic_loadhi_rcpc_sext */

            default:
              return -1;
            }

        case E_DImode:
          switch (pattern575 (x3, E_DImode))
            {
            case 0:
              if (!
#line 725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC2 && (64 > 8)))
                return -1;
              return 4569; /* *aarch64_atomic_loadqi_rcpc_sext */

            case 1:
              if (!
#line 725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC2 && (64 > 16)))
                return -1;
              return 4571; /* *aarch64_atomic_loadhi_rcpc_sext */

            case 2:
              if (!
#line 725 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_RCPC2 && (64 > 32)))
                return -1;
              return 4572; /* *aarch64_atomic_loadsi_rcpc_sext */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case SS_PLUS:
      if (GET_MODE (x4) != E_SImode)
        return -1;
      x8 = XEXP (x4, 0);
      if (GET_CODE (x8) != UNSPEC
          || XVECLEN (x8, 0) != 3)
        return -1;
      switch (pattern380 (x3))
        {
        case 0:
          if (!
#line 9997 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9123; /* aarch64_sve_sqincsi_pat */

        case 1:
          if (!
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9169; /* *aarch64_sve_sqincsivnx16bi_cntp */

        case 2:
          if (!
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9171; /* *aarch64_sve_sqincsivnx8bi_cntp */

        case 3:
          if (!
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9173; /* *aarch64_sve_sqincsivnx4bi_cntp */

        case 4:
          if (!
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9175; /* *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 (pattern382 (x3))
        {
        case 0:
          if (!
#line 10147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9138; /* aarch64_sve_sqdecsi_pat */

        case 1:
          if (!
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9202; /* *aarch64_sve_sqdecsivnx16bi_cntp */

        case 2:
          if (!
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9204; /* *aarch64_sve_sqdecsivnx8bi_cntp */

        case 3:
          if (!
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9206; /* *aarch64_sve_sqdecsivnx4bi_cntp */

        case 4:
          if (!
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9208; /* *aarch64_sve_sqdecsivnx2bi_cntp */

        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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern15 (x1))
    {
    case 0:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 918; /* lbtruncuhfsi2 */

    case 1:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 928; /* lbtruncusfsi2 */

    case 2:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 938; /* lbtruncudfsi2 */

    case 3:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 948; /* lbtruncuhfdi2 */

    case 4:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 958; /* lbtruncusfdi2 */

    case 5:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 968; /* lbtruncudfdi2 */

    case 6:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2314; /* lbtruncuv4hfv4hi2 */

    case 7:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2324; /* lbtruncuv8hfv8hi2 */

    case 8:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2334; /* lbtruncuv2sfv2si2 */

    case 9:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2344; /* lbtruncuv4sfv4si2 */

    case 10:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2354; /* lbtruncuv2dfv2di2 */

    case 11:
      if (!
#line 3070 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2364; /* lbtruncuhfhi2 */

    case 12:
      if (!
#line 3098 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2374; /* *aarch64_fcvtuv2sfv2si2_mult */

    case 13:
      if (!
#line 3098 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2376; /* *aarch64_fcvtuv4sfv4si2_mult */

    case 14:
      if (!
#line 3098 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2378; /* *aarch64_fcvtuv2dfv2di2_mult */

    case 15:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 919; /* lceiluhfsi2 */

    case 16:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 929; /* lceilusfsi2 */

    case 17:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 939; /* lceiludfsi2 */

    case 18:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 949; /* lceiluhfdi2 */

    case 19:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 959; /* lceilusfdi2 */

    case 20:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 969; /* lceiludfdi2 */

    case 21:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2315; /* lceiluv4hfv4hi2 */

    case 22:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2325; /* lceiluv8hfv8hi2 */

    case 23:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2335; /* lceiluv2sfv2si2 */

    case 24:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2345; /* lceiluv4sfv4si2 */

    case 25:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2355; /* lceiluv2dfv2di2 */

    case 26:
      if (!
#line 3070 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2365; /* lceiluhfhi2 */

    case 27:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 920; /* lflooruhfsi2 */

    case 28:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 930; /* lfloorusfsi2 */

    case 29:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 940; /* lfloorudfsi2 */

    case 30:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 950; /* lflooruhfdi2 */

    case 31:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 960; /* lfloorusfdi2 */

    case 32:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 970; /* lfloorudfdi2 */

    case 33:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2316; /* lflooruv4hfv4hi2 */

    case 34:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2326; /* lflooruv8hfv8hi2 */

    case 35:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2336; /* lflooruv2sfv2si2 */

    case 36:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2346; /* lflooruv4sfv4si2 */

    case 37:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2356; /* lflooruv2dfv2di2 */

    case 38:
      if (!
#line 3070 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2366; /* lflooruhfhi2 */

    case 39:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 921; /* lrounduhfsi2 */

    case 40:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 931; /* lroundusfsi2 */

    case 41:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 941; /* lroundudfsi2 */

    case 42:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 951; /* lrounduhfdi2 */

    case 43:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 961; /* lroundusfdi2 */

    case 44:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 971; /* lroundudfdi2 */

    case 45:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2317; /* lrounduv4hfv4hi2 */

    case 46:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2327; /* lrounduv8hfv8hi2 */

    case 47:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2337; /* lrounduv2sfv2si2 */

    case 48:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2347; /* lrounduv4sfv4si2 */

    case 49:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2357; /* lrounduv2dfv2di2 */

    case 50:
      if (!
#line 3070 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2367; /* lrounduhfhi2 */

    case 51:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 922; /* lfrintnuhfsi2 */

    case 52:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 932; /* lfrintnusfsi2 */

    case 53:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 942; /* lfrintnudfsi2 */

    case 54:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 952; /* lfrintnuhfdi2 */

    case 55:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 962; /* lfrintnusfdi2 */

    case 56:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 972; /* lfrintnudfdi2 */

    case 57:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2318; /* lfrintnuv4hfv4hi2 */

    case 58:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2328; /* lfrintnuv8hfv8hi2 */

    case 59:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2338; /* lfrintnuv2sfv2si2 */

    case 60:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2348; /* lfrintnuv4sfv4si2 */

    case 61:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2358; /* lfrintnuv2dfv2di2 */

    case 62:
      if (!
#line 3070 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2368; /* lfrintnuhfhi2 */

    case 63:
      if (!
#line 6284 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 974; /* *aarch64_fcvtusfsi2_mult */

    case 64:
      if (!
#line 6284 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 976; /* *aarch64_fcvtudfsi2_mult */

    case 65:
      if (!
#line 6284 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 978; /* *aarch64_fcvtusfdi2_mult */

    case 66:
      if (!
#line 6284 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 980; /* *aarch64_fcvtudfdi2_mult */

    case 67:
      if (!
#line 6446 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1000; /* fixuns_truncsfsi2 */

    case 68:
      if (!
#line 6459 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1004; /* fixuns_trunchfsi2 */

    case 69:
      if (!
#line 6470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1008; /* fixuns_truncdfsi2 */

    case 70:
      if (!
#line 6446 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1002; /* fixuns_truncdfdi2 */

    case 71:
      if (!
#line 6459 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1006; /* fixuns_trunchfdi2 */

    case 72:
      if (!
#line 6470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1010; /* fixuns_truncsfdi2 */

    case 73:
      if (!
#line 3078 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2370; /* fixuns_trunchfhi2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern15 (x1))
    {
    case 0:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 913; /* lbtrunchfsi2 */

    case 1:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 923; /* lbtruncsfsi2 */

    case 2:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 933; /* lbtruncdfsi2 */

    case 3:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 943; /* lbtrunchfdi2 */

    case 4:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 953; /* lbtruncsfdi2 */

    case 5:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 963; /* lbtruncdfdi2 */

    case 6:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2309; /* lbtruncv4hfv4hi2 */

    case 7:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2319; /* lbtruncv8hfv8hi2 */

    case 8:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2329; /* lbtruncv2sfv2si2 */

    case 9:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2339; /* lbtruncv4sfv4si2 */

    case 10:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2349; /* lbtruncv2dfv2di2 */

    case 11:
      if (!
#line 3070 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2359; /* lbtrunchfhi2 */

    case 12:
      if (!
#line 3098 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2373; /* *aarch64_fcvtv2sfv2si2_mult */

    case 13:
      if (!
#line 3098 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2375; /* *aarch64_fcvtv4sfv4si2_mult */

    case 14:
      if (!
#line 3098 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2377; /* *aarch64_fcvtv2dfv2di2_mult */

    case 15:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 914; /* lceilhfsi2 */

    case 16:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 924; /* lceilsfsi2 */

    case 17:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 934; /* lceildfsi2 */

    case 18:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 944; /* lceilhfdi2 */

    case 19:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 954; /* lceilsfdi2 */

    case 20:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 964; /* lceildfdi2 */

    case 21:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2310; /* lceilv4hfv4hi2 */

    case 22:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2320; /* lceilv8hfv8hi2 */

    case 23:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2330; /* lceilv2sfv2si2 */

    case 24:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2340; /* lceilv4sfv4si2 */

    case 25:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2350; /* lceilv2dfv2di2 */

    case 26:
      if (!
#line 3070 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2360; /* lceilhfhi2 */

    case 27:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 915; /* lfloorhfsi2 */

    case 28:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 925; /* lfloorsfsi2 */

    case 29:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 935; /* lfloordfsi2 */

    case 30:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 945; /* lfloorhfdi2 */

    case 31:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 955; /* lfloorsfdi2 */

    case 32:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 965; /* lfloordfdi2 */

    case 33:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2311; /* lfloorv4hfv4hi2 */

    case 34:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2321; /* lfloorv8hfv8hi2 */

    case 35:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2331; /* lfloorv2sfv2si2 */

    case 36:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2341; /* lfloorv4sfv4si2 */

    case 37:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2351; /* lfloorv2dfv2di2 */

    case 38:
      if (!
#line 3070 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2361; /* lfloorhfhi2 */

    case 39:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 916; /* lroundhfsi2 */

    case 40:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 926; /* lroundsfsi2 */

    case 41:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 936; /* lrounddfsi2 */

    case 42:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 946; /* lroundhfdi2 */

    case 43:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 956; /* lroundsfdi2 */

    case 44:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 966; /* lrounddfdi2 */

    case 45:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2312; /* lroundv4hfv4hi2 */

    case 46:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2322; /* lroundv8hfv8hi2 */

    case 47:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2332; /* lroundv2sfv2si2 */

    case 48:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2342; /* lroundv4sfv4si2 */

    case 49:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2352; /* lroundv2dfv2di2 */

    case 50:
      if (!
#line 3070 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2362; /* lroundhfhi2 */

    case 51:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 917; /* lfrintnhfsi2 */

    case 52:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 927; /* lfrintnsfsi2 */

    case 53:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 937; /* lfrintndfsi2 */

    case 54:
      if (!(
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 947; /* lfrintnhfdi2 */

    case 55:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 957; /* lfrintnsfdi2 */

    case 56:
      if (!
#line 6273 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 967; /* lfrintndfdi2 */

    case 57:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2313; /* lfrintnv4hfv4hi2 */

    case 58:
      if (!(
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2323; /* lfrintnv8hfv8hi2 */

    case 59:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2333; /* lfrintnv2sfv2si2 */

    case 60:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2343; /* lfrintnv4sfv4si2 */

    case 61:
      if (!
#line 3060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2353; /* lfrintnv2dfv2di2 */

    case 62:
      if (!
#line 3070 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2363; /* lfrintnhfhi2 */

    case 63:
      if (!
#line 6284 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 973; /* *aarch64_fcvtsfsi2_mult */

    case 64:
      if (!
#line 6284 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 975; /* *aarch64_fcvtdfsi2_mult */

    case 65:
      if (!
#line 6284 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 977; /* *aarch64_fcvtsfdi2_mult */

    case 66:
      if (!
#line 6284 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 979; /* *aarch64_fcvtdfdi2_mult */

    case 67:
      if (!
#line 6446 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 999; /* fix_truncsfsi2 */

    case 68:
      if (!
#line 6459 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1003; /* fix_trunchfsi2 */

    case 69:
      if (!
#line 6470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1007; /* fix_truncdfsi2 */

    case 70:
      if (!
#line 6446 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1001; /* fix_truncdfdi2 */

    case 71:
      if (!
#line 6459 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
        return -1;
      return 1005; /* fix_trunchfdi2 */

    case 72:
      if (!
#line 6470 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1009; /* fix_truncsfdi2 */

    case 73:
      if (!
#line 3078 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
        return -1;
      return 2369; /* fix_trunchfhi2 */

    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, 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 (pattern698 (x2, E_V4HImode, E_V4SImode) != 0
                      || !
#line 5954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3108; /* aarch64_sqdmullv4hi */

                case E_V2DImode:
                  if (pattern698 (x2, E_V2SImode, E_V2DImode) != 0
                      || !
#line 5954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3109; /* aarch64_sqdmullv2si */

                case E_SImode:
                  if (pattern698 (x2, E_HImode, E_SImode) != 0
                      || !
#line 5954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3110; /* aarch64_sqdmullhi */

                case E_DImode:
                  if (pattern698 (x2, E_SImode, E_DImode) != 0
                      || !
#line 5954 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3111; /* 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 (pattern849 (x2, E_HImode, E_SImode) != 0)
                    return -1;
                  switch (GET_MODE (operands[2]))
                    {
                    case E_V4HImode:
                      if (!register_operand (operands[2], E_V4HImode)
                          || !
#line 6015 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3116; /* aarch64_sqdmull_lanehi */

                    case E_V8HImode:
                      if (!register_operand (operands[2], E_V8HImode)
                          || !
#line 6035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3118; /* aarch64_sqdmull_laneqhi */

                    default:
                      return -1;
                    }

                case E_DImode:
                  if (pattern849 (x2, E_SImode, E_DImode) != 0)
                    return -1;
                  switch (GET_MODE (operands[2]))
                    {
                    case E_V2SImode:
                      if (!register_operand (operands[2], E_V2SImode)
                          || !
#line 6015 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3117; /* aarch64_sqdmull_lanesi */

                    case E_V4SImode:
                      if (!register_operand (operands[2], E_V4SImode)
                          || !
#line 6035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3119; /* aarch64_sqdmull_laneqsi */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case VEC_DUPLICATE:
          x9 = XEXP (x8, 0);
          switch (pattern552 (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 (pattern866 (x2, E_V4HImode, E_V4SImode) != 0)
                    return -1;
                  switch (pattern931 (x8))
                    {
                    case 0:
                      if (!
#line 5974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3112; /* aarch64_sqdmull_lanev4hi */

                    case 1:
                      if (!
#line 5995 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3114; /* aarch64_sqdmull_laneqv4hi */

                    default:
                      return -1;
                    }

                case E_V2DImode:
                  if (pattern866 (x2, E_V2SImode, E_V2DImode) != 0)
                    return -1;
                  switch (pattern932 (x8))
                    {
                    case 0:
                      if (!
#line 5974 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3113; /* aarch64_sqdmull_lanev2si */

                    case 1:
                      if (!
#line 5995 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3115; /* aarch64_sqdmull_laneqv2si */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case 1:
              switch (GET_MODE (operands[0]))
                {
                case E_V4SImode:
                  if (pattern742 (x2, E_HImode, E_SImode, E_V4SImode, E_V4HImode) != 0
                      || !
#line 6056 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3120; /* aarch64_sqdmull_nv4hi */

                case E_V2DImode:
                  if (pattern742 (x2, E_SImode, E_DImode, E_V2DImode, E_V2SImode) != 0
                      || !
#line 6056 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3121; /* 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 (pattern793 (x2, E_V8HImode, E_V4HImode, E_V4SImode) != 0
                  || !
#line 6077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3122; /* aarch64_sqdmull2v8hi_internal */

            case E_V2DImode:
              if (pattern793 (x2, E_V4SImode, E_V2SImode, E_V2DImode) != 0
                  || !
#line 6077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3123; /* aarch64_sqdmull2v4si_internal */

            default:
              return -1;
            }

        case VEC_DUPLICATE:
          x9 = XEXP (x8, 0);
          switch (pattern552 (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 (pattern886 (x2, E_V8HImode, E_V4HImode, E_V4SImode) != 0)
                    return -1;
                  switch (pattern931 (x8))
                    {
                    case 0:
                      if (!
#line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3124; /* aarch64_sqdmull2_lanev8hi_internal */

                    case 1:
                      if (!
#line 6134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3126; /* aarch64_sqdmull2_laneqv8hi_internal */

                    default:
                      return -1;
                    }

                case E_V2DImode:
                  if (pattern886 (x2, E_V4SImode, E_V2SImode, E_V2DImode) != 0)
                    return -1;
                  switch (pattern932 (x8))
                    {
                    case 0:
                      if (!
#line 6111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3125; /* aarch64_sqdmull2_lanev4si_internal */

                    case 1:
                      if (!
#line 6134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                        return -1;
                      return 3127; /* 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 (pattern794 (x2, E_HImode, E_SImode, E_V4SImode, E_V8HImode, E_V4HImode) != 0
                      || !
#line 6185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3128; /* aarch64_sqdmull2_nv8hi_internal */

                case E_V2DImode:
                  if (pattern794 (x2, E_SImode, E_DImode, E_V2DImode, E_V4SImode, E_V2SImode) != 0
                      || !
#line 6185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                    return -1;
                  return 3129; /* aarch64_sqdmull2_nv4si_internal */

                default:
                  return -1;
                }

            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, 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 433; /* 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 434; /* umuldi3_highpart */

            default:
              return -1;
            }

        case REG:
        case SUBREG:
          switch (pattern61 (x3))
            {
            case 0:
              if (!
#line 1769 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2019; /* *aarch64_shrnv8hi_vect */

            case 1:
              if (!
#line 1769 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2021; /* *aarch64_shrnv4si_vect */

            case 2:
              if (!
#line 1769 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 2023; /* *aarch64_shrnv2di_vect */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern61 (x3))
        {
        case 0:
          if (!
#line 1769 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2018; /* *aarch64_rshrnv8hi_vect */

        case 1:
          if (!
#line 1769 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2020; /* *aarch64_rshrnv4si_vect */

        case 2:
          if (!
#line 1769 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2022; /* *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 9037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4397; /* truncv8hiv8qi2 */

        case E_V4HImode:
          if (!register_operand (operands[0], E_V4HImode)
              || GET_MODE (x3) != E_V4HImode
              || !register_operand (operands[1], E_V4SImode)
              || !
#line 9037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4398; /* truncv4siv4hi2 */

        case E_V2SImode:
          if (!register_operand (operands[0], E_V2SImode)
              || GET_MODE (x3) != E_V2SImode
              || !register_operand (operands[1], E_V2DImode)
              || !
#line 9037 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 4399; /* truncv2div2si2 */

        case E_VNx8QImode:
          if (!register_operand (operands[0], E_VNx8QImode)
              || GET_MODE (x3) != E_VNx8QImode
              || !register_operand (operands[1], E_VNx8HImode)
              || !
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0))
            return -1;
          return 5663; /* truncvnx8hivnx8qi2 */

        case E_VNx4QImode:
          switch (pattern292 (x3))
            {
            case 0:
              if (!
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0))
                return -1;
              return 5664; /* truncvnx4hivnx4qi2 */

            case 1:
              if (!
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0))
                return -1;
              return 5666; /* truncvnx4sivnx4qi2 */

            default:
              return -1;
            }

        case E_VNx2QImode:
          switch (pattern293 (x3))
            {
            case 0:
              if (!
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0))
                return -1;
              return 5665; /* truncvnx2hivnx2qi2 */

            case 1:
              if (!
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0))
                return -1;
              return 5668; /* truncvnx2sivnx2qi2 */

            case 2:
              if (!
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0))
                return -1;
              return 5670; /* 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 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0))
            return -1;
          return 5667; /* truncvnx4sivnx4hi2 */

        case E_VNx2HImode:
          switch (pattern294 (x3))
            {
            case 0:
              if (!
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0))
                return -1;
              return 5669; /* truncvnx2sivnx2hi2 */

            case 1:
              if (!
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0))
                return -1;
              return 5671; /* 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 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0))
            return -1;
          return 5672; /* truncvnx2divnx2si2 */

        default:
          return -1;
        }

    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;
  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 609; /* 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 610; /* one_cmpldi2 */

        case E_V8QImode:
          if (!register_operand (operands[0], E_V8QImode)
              || GET_MODE (x3) != E_V8QImode
              || !register_operand (operands[1], E_V8QImode)
              || !
#line 1055 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1786; /* one_cmplv8qi2 */

        case E_V16QImode:
          if (!register_operand (operands[0], E_V16QImode)
              || GET_MODE (x3) != E_V16QImode
              || !register_operand (operands[1], E_V16QImode)
              || !
#line 1055 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1787; /* one_cmplv16qi2 */

        case E_V4HImode:
          if (!register_operand (operands[0], E_V4HImode)
              || GET_MODE (x3) != E_V4HImode
              || !register_operand (operands[1], E_V4HImode)
              || !
#line 1055 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1788; /* one_cmplv4hi2 */

        case E_V8HImode:
          if (!register_operand (operands[0], E_V8HImode)
              || GET_MODE (x3) != E_V8HImode
              || !register_operand (operands[1], E_V8HImode)
              || !
#line 1055 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1789; /* one_cmplv8hi2 */

        case E_V2SImode:
          if (!register_operand (operands[0], E_V2SImode)
              || GET_MODE (x3) != E_V2SImode
              || !register_operand (operands[1], E_V2SImode)
              || !
#line 1055 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1790; /* one_cmplv2si2 */

        case E_V4SImode:
          if (!register_operand (operands[0], E_V4SImode)
              || GET_MODE (x3) != E_V4SImode
              || !register_operand (operands[1], E_V4SImode)
              || !
#line 1055 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1791; /* one_cmplv4si2 */

        case E_V2DImode:
          if (!register_operand (operands[0], E_V2DImode)
              || GET_MODE (x3) != E_V2DImode
              || !register_operand (operands[1], E_V2DImode)
              || !
#line 1055 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1792; /* one_cmplv2di2 */

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern58 (x3))
        {
        case 0:
          return 612; /* *one_cmpl_ashlsi2 */

        case 1:
          return 617; /* *one_cmpl_ashldi2 */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern58 (x3))
        {
        case 0:
          return 613; /* *one_cmpl_ashrsi2 */

        case 1:
          return 618; /* *one_cmpl_ashrdi2 */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern58 (x3))
        {
        case 0:
          return 614; /* *one_cmpl_lshrsi2 */

        case 1:
          return 619; /* *one_cmpl_lshrdi2 */

        default:
          return -1;
        }

    case ROTATERT:
      switch (pattern58 (x3))
        {
        case 0:
          return 615; /* *one_cmpl_rotrsi2 */

        case 1:
          return 620; /* *one_cmpl_rotrdi2 */

        default:
          return -1;
        }

    case ROTATE:
      switch (pattern58 (x3))
        {
        case 0:
          return 616; /* *one_cmpl_rotlsi2 */

        case 1:
          return 621; /* *one_cmpl_rotldi2 */

        default:
          return -1;
        }

    case XOR:
      x5 = XEXP (x4, 0);
      switch (GET_CODE (x5))
        {
        case REG:
        case SUBREG:
          switch (pattern188 (x3))
            {
            case 0:
              return 629; /* *xor_one_cmplsi3 */

            case 1:
              return 630; /* *xor_one_cmpldi3 */

            default:
              return -1;
            }

        case ASHIFT:
          switch (pattern269 (x3))
            {
            case 0:
              return 681; /* *eor_one_cmpl_ashlsi3_alt */

            case 1:
              return 686; /* *eor_one_cmpl_ashldi3_alt */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern269 (x3))
            {
            case 0:
              return 682; /* *eor_one_cmpl_ashrsi3_alt */

            case 1:
              return 687; /* *eor_one_cmpl_ashrdi3_alt */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern269 (x3))
            {
            case 0:
              return 683; /* *eor_one_cmpl_lshrsi3_alt */

            case 1:
              return 688; /* *eor_one_cmpl_lshrdi3_alt */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern269 (x3))
            {
            case 0:
              return 684; /* *eor_one_cmpl_rotrsi3_alt */

            case 1:
              return 689; /* *eor_one_cmpl_rotrdi3_alt */

            default:
              return -1;
            }

        case ROTATE:
          switch (pattern269 (x3))
            {
            case 0:
              return 685; /* *eor_one_cmpl_rotlsi3_alt */

            case 1:
              return 690; /* *eor_one_cmpl_rotldi3_alt */

            default:
              return -1;
            }

        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, 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_408 (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 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1493; /* aarch64_simd_mov_from_v16qilow */
      if (!vect_par_cnst_hi_half (operands[2], E_V16QImode)
          || !
#line 378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
        return -1;
      return 1499; /* 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 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1494; /* aarch64_simd_mov_from_v8hilow */
      if (!vect_par_cnst_hi_half (operands[2], E_V8HImode)
          || !
#line 378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
        return -1;
      return 1500; /* 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 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1495; /* aarch64_simd_mov_from_v4silow */
      if (!vect_par_cnst_hi_half (operands[2], E_V4SImode)
          || !
#line 378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
        return -1;
      return 1501; /* 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 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1496; /* aarch64_simd_mov_from_v8hflow */
      if (!vect_par_cnst_hi_half (operands[2], E_V8HFmode)
          || !
#line 378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
        return -1;
      return 1502; /* 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 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1497; /* aarch64_simd_mov_from_v8bflow */
      if (!vect_par_cnst_hi_half (operands[2], E_V8BFmode)
          || !
#line 378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
        return -1;
      return 1503; /* 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 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return 1498; /* aarch64_simd_mov_from_v4sflow */
      if (!vect_par_cnst_hi_half (operands[2], E_V4SFmode)
          || !
#line 378 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT))
        return -1;
      return 1504; /* aarch64_simd_mov_from_v4sfhigh */

    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, 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 (pattern199 (x3))
        {
        case 0:
          return 388; /* negsi2 */

        case 1:
          return 389; /* negdi2 */

        case 2:
          if ((
#line 6751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return 1069; /* neghf2 */
          break;

        case 3:
          if (
#line 6751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return 1070; /* negsf2 */
          break;

        case 4:
          if (
#line 6751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return 1071; /* negdf2 */
          break;

        case 5:
          if (
#line 829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1675; /* negv8qi2 */
          break;

        case 6:
          if (
#line 829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1676; /* negv16qi2 */
          break;

        case 7:
          if (
#line 829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1677; /* negv4hi2 */
          break;

        case 8:
          if (
#line 829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1678; /* negv8hi2 */
          break;

        case 9:
          if (
#line 829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1679; /* negv2si2 */
          break;

        case 10:
          if (
#line 829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1680; /* negv4si2 */
          break;

        case 11:
          if (
#line 829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 1681; /* negv2di2 */
          break;

        case 12:
          if ((
#line 2734 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return 2224; /* negv4hf2 */
          break;

        case 13:
          if ((
#line 2734 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return 2225; /* negv8hf2 */
          break;

        case 14:
          if (
#line 2734 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2226; /* negv2sf2 */
          break;

        case 15:
          if (
#line 2734 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2227; /* negv4sf2 */
          break;

        case 16:
          if (
#line 2734 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2228; /* 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 3759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) + INTVAL (operands[3]) == 32))
        return -1;
      return 412; /* *neg_asr_si2_extr */

    case ASHIFT:
      switch (pattern58 (x3))
        {
        case 0:
          return 403; /* *neg_lsl_si2 */

        case 1:
          return 406; /* *neg_lsl_di2 */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern58 (x3))
        {
        case 0:
          return 404; /* *neg_asr_si2 */

        case 1:
          return 407; /* *neg_asr_di2 */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern58 (x3))
        {
        case 0:
          return 405; /* *neg_lsr_si2 */

        case 1:
          return 408; /* *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_59 (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 (pattern493 (x3, E_SFmode) != 0
              || !
#line 6383 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!HONOR_SIGNED_ZEROS (SFmode) && TARGET_FLOAT))
            return -1;
          return 991; /* *aarch64_fnmaddsf4 */

        case E_DFmode:
          if (pattern493 (x3, E_DFmode) != 0
              || !
#line 6383 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!HONOR_SIGNED_ZEROS (DFmode) && TARGET_FLOAT))
            return -1;
          return 992; /* *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 (pattern187 (x3, E_SFmode) != 0
              || !
#line 6722 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1064; /* *fnmulsf3 */

        case E_DFmode:
          if (pattern187 (x3, E_DFmode) != 0
              || !
#line 6722 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1065; /* *fnmuldf3 */

        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, 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 (pattern199 (x3))
        {
        case 0:
          if (!
#line 3632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
            return -1;
          return 386; /* *aarch64_abssi2_cssc_insn */

        case 1:
          if (!
#line 3632 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
            return -1;
          return 387; /* *aarch64_absdi2_cssc_insn */

        case 2:
          if (!(
#line 6776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return -1;
          return 1075; /* abshf2 */

        case 3:
          if (!
#line 6776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1076; /* abssf2 */

        case 4:
          if (!
#line 6776 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1077; /* absdf2 */

        case 5:
          if (!
#line 837 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1682; /* absv8qi2 */

        case 6:
          if (!
#line 837 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1683; /* absv16qi2 */

        case 7:
          if (!
#line 837 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1684; /* absv4hi2 */

        case 8:
          if (!
#line 837 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1685; /* absv8hi2 */

        case 9:
          if (!
#line 837 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1686; /* absv2si2 */

        case 10:
          if (!
#line 837 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1687; /* absv4si2 */

        case 11:
          if (!
#line 837 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1688; /* absv2di2 */

        case 12:
          if (!(
#line 2742 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2229; /* absv4hf2 */

        case 13:
          if (!(
#line 2742 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2230; /* absv8hf2 */

        case 14:
          if (!
#line 2742 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2231; /* absv2sf2 */

        case 15:
          if (!
#line 2742 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2232; /* absv4sf2 */

        case 16:
          if (!
#line 2742 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2233; /* 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 (pattern187 (x3, E_V4HFmode) != 0
              || !(
#line 996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 169 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 1757; /* fabdv4hf3 */

        case E_V8HFmode:
          if (pattern187 (x3, E_V8HFmode) != 0
              || !(
#line 996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 170 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 1758; /* fabdv8hf3 */

        case E_V2SFmode:
          if (pattern187 (x3, E_V2SFmode) != 0
              || !
#line 996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1759; /* fabdv2sf3 */

        case E_V4SFmode:
          if (pattern187 (x3, E_V4SFmode) != 0
              || !
#line 996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1760; /* fabdv4sf3 */

        case E_V2DFmode:
          if (pattern187 (x3, E_V2DFmode) != 0
              || !
#line 996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1761; /* fabdv2df3 */

        case E_HFmode:
          if (pattern187 (x3, E_HFmode) != 0
              || !(
#line 996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 1762; /* fabdhf3 */

        case E_SFmode:
          if (pattern187 (x3, E_SFmode) != 0
              || !
#line 996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1763; /* fabdsf3 */

        case E_DFmode:
          if (pattern187 (x3, E_DFmode) != 0
              || !
#line 996 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1764; /* fabddf3 */

        default:
          return -1;
        }

    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, 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_403 (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 6110 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (SImode) - 1)))
        return -1;
      return 878; /* *ashiftsi_extvdi_bfiz */

    case SIGN_EXTEND:
      switch (pattern164 (x3))
        {
        case 0:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 862; /* *extendqi_shft_si */

        case 1:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 866; /* *extendhi_shft_si */

        case 2:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 870; /* *extendsi_shft_si */

        case 3:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 864; /* *extendqi_shft_di */

        case 4:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 868; /* *extendhi_shft_di */

        case 5:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 872; /* *extendsi_shft_di */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern164 (x3))
        {
        case 0:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 863; /* *zero_extendqi_shft_si */

        case 1:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 867; /* *zero_extendhi_shft_si */

        case 2:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 32))
            return -1;
          return 871; /* *zero_extendsi_shft_si */

        case 3:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 865; /* *zero_extendqi_shft_di */

        case 4:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 869; /* *zero_extendhi_shft_di */

        case 5:
          if (!
#line 6065 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < 64))
            return -1;
          return 873; /* *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 (pattern535 (x3, E_SImode) != 0
              || !aarch64_simd_shift_imm_offset_si (operands[2], E_VOIDmode)
              || !aarch64_simd_shift_imm_si (operands[3], E_VOIDmode)
              || !
#line 6095 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (SImode) - 1)))
            return -1;
          return 876; /* *ashiftsi_extv_bfiz */

        case E_DImode:
          if (pattern535 (x3, E_DImode) != 0
              || !aarch64_simd_shift_imm_offset_di (operands[2], E_VOIDmode)
              || !aarch64_simd_shift_imm_di (operands[3], E_VOIDmode)
              || !
#line 6095 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (DImode) - 1)))
            return -1;
          return 877; /* *ashiftdi_extv_bfiz */

        default:
          return -1;
        }

    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;
  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 6768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
        return -1;
      return 1072; /* *sqrthf2 */

    case E_SFmode:
      if (!register_operand (operands[0], E_SFmode)
          || GET_MODE (x3) != E_SFmode
          || !register_operand (operands[1], E_SFmode)
          || !
#line 6768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1073; /* *sqrtsf2 */

    case E_DFmode:
      if (!register_operand (operands[0], E_DFmode)
          || GET_MODE (x3) != E_DFmode
          || !register_operand (operands[1], E_DFmode)
          || !
#line 6768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1074; /* *sqrtdf2 */

    case E_V4HFmode:
      if (!register_operand (operands[0], E_V4HFmode)
          || GET_MODE (x3) != E_V4HFmode
          || !register_operand (operands[1], E_V4HFmode)
          || !(
#line 6789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 3610; /* *sqrtv4hf2 */

    case E_V8HFmode:
      if (!register_operand (operands[0], E_V8HFmode)
          || GET_MODE (x3) != E_V8HFmode
          || !register_operand (operands[1], E_V8HFmode)
          || !(
#line 6789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 3611; /* *sqrtv8hf2 */

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode)
          || GET_MODE (x3) != E_V2SFmode
          || !register_operand (operands[1], E_V2SFmode)
          || !
#line 6789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3612; /* *sqrtv2sf2 */

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode)
          || GET_MODE (x3) != E_V4SFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 6789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3613; /* *sqrtv4sf2 */

    case E_V2DFmode:
      if (!register_operand (operands[0], E_V2DFmode)
          || GET_MODE (x3) != E_V2DFmode
          || !register_operand (operands[1], E_V2DFmode)
          || !
#line 6789 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 3614; /* *sqrtv2df2 */

    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, 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 6395 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 993; /* extendsfdf2 */

            case E_HFmode:
              if (!register_operand (operands[1], E_HFmode)
                  || !
#line 6411 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
                return -1;
              return 995; /* 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 6403 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 994; /* extendhfsf2 */

        case E_V2DFmode:
          if (!register_operand (operands[0], E_V2DFmode)
              || GET_MODE (x3) != E_V2DFmode
              || !register_operand (operands[1], E_V2SFmode)
              || !
#line 3231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2413; /* 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 3231 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2414; /* 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 (pattern297 (x3, E_V8HFmode, E_V4HFmode, E_V4SFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[2], E_V8HFmode)
              && 
#line 3155 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2389; /* aarch64_simd_vec_unpacks_lo_v8hf */
          if (!vect_par_cnst_hi_half (operands[2], E_V8HFmode)
              || !
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2411; /* aarch64_simd_vec_unpacks_hi_v8hf */

        case E_V2DFmode:
          if (pattern297 (x3, E_V4SFmode, E_V2SFmode, E_V2DFmode) != 0)
            return -1;
          if (vect_par_cnst_lo_half (operands[2], E_V4SFmode)
              && 
#line 3155 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return 2390; /* aarch64_simd_vec_unpacks_lo_v4sf */
          if (!vect_par_cnst_hi_half (operands[2], E_V4SFmode)
              || !
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2412; /* aarch64_simd_vec_unpacks_hi_v4sf */

        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;
  int res ATTRIBUTE_UNUSED;
  switch (pattern9 (x1))
    {
    case 0:
      x2 = XEXP (x1, 1);
      x3 = XEXP (x2, 1);
      switch (GET_CODE (x3))
        {
        case SUBREG:
        case TRUNCATE:
          switch (pattern271 (x2))
            {
            case 0:
              if (
#line 5358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0))
                return 752; /* *aarch64_ashr_reg_si3_mask1 */
              break;

            case 1:
              if (
#line 5358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0))
                return 757; /* *aarch64_ashr_reg_di3_mask1 */
              break;

            case 2:
              if (
#line 5422 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 774; /* *aarch64_ashr_reg_di3_mask2 */
              break;

            case 3:
              if (
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)))
                return 762; /* *aarch64_ashr_reg_si3_neg_mask2 */
              break;

            case 4:
              if (
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 767; /* *aarch64_ashr_reg_di3_neg_mask2 */
              break;

            default:
              break;
            }
          break;

        case CONST_INT:
          switch (pattern343 (x2))
            {
            case 0:
              if (
#line 5691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
                return 805; /* *ashrqi3_insn */
              break;

            case 1:
              if (
#line 5691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
                return 808; /* *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 (pattern5 (x2))
        {
        case 0:
          return 788; /* *aarch64_ashr_sisd_or_int_si3 */

        case 1:
          return 789; /* *aarch64_ashr_sisd_or_int_di3 */

        default:
          return -1;
        }

    case 1:
      if (!
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)))
        return -1;
      return 779; /* *aarch64_ashr_reg_minussi3 */

    case 2:
      if (!
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)))
        return -1;
      return 782; /* *aarch64_ashr_reg_minusdi3 */

    case 3:
      if (!
#line 1157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1838; /* aarch64_simd_ashrv8qi */

    case 4:
      if (!
#line 1157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1839; /* aarch64_simd_ashrv16qi */

    case 5:
      if (!
#line 1157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1840; /* aarch64_simd_ashrv4hi */

    case 6:
      if (!
#line 1157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1841; /* aarch64_simd_ashrv8hi */

    case 7:
      if (!
#line 1157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1842; /* aarch64_simd_ashrv2si */

    case 8:
      if (!
#line 1157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1843; /* aarch64_simd_ashrv4si */

    case 9:
      if (!
#line 1157 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1844; /* aarch64_simd_ashrv2di */

    case 10:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6764; /* *post_ra_vashrvnx16qi3 */

    case 11:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6767; /* *post_ra_vashrvnx8qi3 */

    case 12:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6770; /* *post_ra_vashrvnx4qi3 */

    case 13:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6773; /* *post_ra_vashrvnx2qi3 */

    case 14:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6776; /* *post_ra_vashrvnx8hi3 */

    case 15:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6779; /* *post_ra_vashrvnx4hi3 */

    case 16:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6782; /* *post_ra_vashrvnx2hi3 */

    case 17:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6785; /* *post_ra_vashrvnx4si3 */

    case 18:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6788; /* *post_ra_vashrvnx2si3 */

    case 19:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6791; /* *post_ra_vashrvnx2di3 */

    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];
  rtx x2, x3;
  int res ATTRIBUTE_UNUSED;
  switch (pattern9 (x1))
    {
    case 0:
      x2 = XEXP (x1, 1);
      x3 = XEXP (x2, 1);
      switch (GET_CODE (x3))
        {
        case SUBREG:
        case TRUNCATE:
          switch (pattern271 (x2))
            {
            case 0:
              if (
#line 5358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0))
                return 753; /* *aarch64_lshr_reg_si3_mask1 */
              break;

            case 1:
              if (
#line 5358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0))
                return 758; /* *aarch64_lshr_reg_di3_mask1 */
              break;

            case 2:
              if (
#line 5422 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 775; /* *aarch64_lshr_reg_di3_mask2 */
              break;

            case 3:
              if (
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)))
                return 763; /* *aarch64_lshr_reg_si3_neg_mask2 */
              break;

            case 4:
              if (
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 768; /* *aarch64_lshr_reg_di3_neg_mask2 */
              break;

            default:
              break;
            }
          break;

        case CONST_INT:
          switch (pattern343 (x2))
            {
            case 0:
              if (
#line 5691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (QImode)))
                return 806; /* *lshrqi3_insn */
              break;

            case 1:
              if (
#line 5691 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (HImode)))
                return 809; /* *lshrhi3_insn */
              break;

            default:
              break;
            }
          break;

        default:
          break;
        }
      operands[2] = x3;
      switch (pattern344 (x2))
        {
        case 0:
          return 786; /* *aarch64_lshr_sisd_or_int_si3 */

        case 1:
          return 787; /* *aarch64_lshr_sisd_or_int_di3 */

        default:
          return -1;
        }

    case 1:
      if (!
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)))
        return -1;
      return 780; /* *aarch64_lshr_reg_minussi3 */

    case 2:
      if (!
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)))
        return -1;
      return 783; /* *aarch64_lshr_reg_minusdi3 */

    case 3:
      if (!
#line 1148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1831; /* aarch64_simd_lshrv8qi */

    case 4:
      if (!
#line 1148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1832; /* aarch64_simd_lshrv16qi */

    case 5:
      if (!
#line 1148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1833; /* aarch64_simd_lshrv4hi */

    case 6:
      if (!
#line 1148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1834; /* aarch64_simd_lshrv8hi */

    case 7:
      if (!
#line 1148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1835; /* aarch64_simd_lshrv2si */

    case 8:
      if (!
#line 1148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1836; /* aarch64_simd_lshrv4si */

    case 9:
      if (!
#line 1148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1837; /* aarch64_simd_lshrv2di */

    case 10:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6765; /* *post_ra_vlshrvnx16qi3 */

    case 11:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6768; /* *post_ra_vlshrvnx8qi3 */

    case 12:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6771; /* *post_ra_vlshrvnx4qi3 */

    case 13:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6774; /* *post_ra_vlshrvnx2qi3 */

    case 14:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6777; /* *post_ra_vlshrvnx8hi3 */

    case 15:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6780; /* *post_ra_vlshrvnx4hi3 */

    case 16:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6783; /* *post_ra_vlshrvnx2hi3 */

    case 17:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6786; /* *post_ra_vlshrvnx4si3 */

    case 18:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6789; /* *post_ra_vlshrvnx2si3 */

    case 19:
      if (!
#line 4628 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 6792; /* *post_ra_vlshrvnx2di3 */

    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];
  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 (pattern282 (x3))
        {
        case 0:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2854; /* aarch64_uqsubv8qi */

        case 1:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2858; /* aarch64_uqsubv16qi */

        case 2:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2862; /* aarch64_uqsubv4hi */

        case 3:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2866; /* aarch64_uqsubv8hi */

        case 4:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2870; /* aarch64_uqsubv2si */

        case 5:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2874; /* aarch64_uqsubv4si */

        case 6:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2878; /* aarch64_uqsubv2di */

        case 7:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2882; /* aarch64_uqsubqi */

        case 8:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2886; /* aarch64_uqsubhi */

        case 9:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2890; /* aarch64_uqsubsi */

        case 10:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2894; /* aarch64_uqsubdi */

        case 11:
          if (!
#line 4197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6614; /* aarch64_sve_ussubvnx16qi */

        case 12:
          if (!
#line 4197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6616; /* aarch64_sve_ussubvnx8hi */

        case 13:
          if (!
#line 4197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6618; /* aarch64_sve_ussubvnx4si */

        case 14:
          if (!
#line 4197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6620; /* aarch64_sve_ussubvnx2di */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern284 (x3))
        {
        case 0:
          if (!
#line 10111 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9136; /* aarch64_sve_uqdecdi_pat */

        case 1:
          if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9188; /* *aarch64_sve_uqdecdivnx16bi_cntp */

        case 2:
          if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9191; /* *aarch64_sve_uqdecdivnx8bi_cntp */

        case 3:
          if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9194; /* *aarch64_sve_uqdecdivnx4bi_cntp */

        case 4:
          if (!
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9197; /* *aarch64_sve_uqdecdivnx2bi_cntp */

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      switch (pattern285 (x3))
        {
        case 0:
          if (!
#line 10176 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9142; /* aarch64_sve_uqdecvnx2di_pat */

        case 1:
          if (!
#line 10636 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9212; /* *aarch64_sve_uqdecvnx2di_cntp */

        case 2:
          if (!
#line 10197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9145; /* aarch64_sve_uqdecvnx4si_pat */

        case 3:
          if (!
#line 10675 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9215; /* *aarch64_sve_uqdecvnx4si_cntp */

        case 4:
          if (!
#line 10232 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9148; /* *aarch64_sve_uqdecvnx8hi_pat */

        case 5:
          if (!
#line 10716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9218; /* *aarch64_sve_uqdecvnx8hi_cntp */

        default:
          return -1;
        }

    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;
  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 (pattern282 (x3))
        {
        case 0:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2852; /* aarch64_uqaddv8qi */

        case 1:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2856; /* aarch64_uqaddv16qi */

        case 2:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2860; /* aarch64_uqaddv4hi */

        case 3:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2864; /* aarch64_uqaddv8hi */

        case 4:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2868; /* aarch64_uqaddv2si */

        case 5:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2872; /* aarch64_uqaddv4si */

        case 6:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2876; /* aarch64_uqaddv2di */

        case 7:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2880; /* aarch64_uqaddqi */

        case 8:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2884; /* aarch64_uqaddhi */

        case 9:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2888; /* aarch64_uqaddsi */

        case 10:
          if (!
#line 5034 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2892; /* aarch64_uqadddi */

        case 11:
          if (!
#line 4197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6613; /* aarch64_sve_usaddvnx16qi */

        case 12:
          if (!
#line 4197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6615; /* aarch64_sve_usaddvnx8hi */

        case 13:
          if (!
#line 4197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6617; /* aarch64_sve_usaddvnx4si */

        case 14:
          if (!
#line 4197 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 6619; /* aarch64_sve_usaddvnx2di */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      switch (pattern168 (x3))
        {
        case 0:
          if (!
#line 9961 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9121; /* aarch64_sve_uqincdi_pat */

        case 1:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9155; /* *aarch64_sve_uqincdivnx16bi_cntp */

        case 2:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9158; /* *aarch64_sve_uqincdivnx8bi_cntp */

        case 3:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9161; /* *aarch64_sve_uqincdivnx4bi_cntp */

        case 4:
          if (!
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9164; /* *aarch64_sve_uqincdivnx2bi_cntp */

        default:
          return -1;
        }

    case VEC_DUPLICATE:
      switch (pattern172 (x3))
        {
        case 0:
          if (!
#line 10026 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9127; /* aarch64_sve_uqincvnx2di_pat */

        case 1:
          if (!
#line 10403 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9179; /* *aarch64_sve_uqincvnx2di_cntp */

        case 2:
          if (!
#line 10047 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9130; /* aarch64_sve_uqincvnx4si_pat */

        case 3:
          if (!
#line 10442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9182; /* *aarch64_sve_uqincvnx4si_cntp */

        case 4:
          if (!
#line 10082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9133; /* *aarch64_sve_uqincvnx8hi_pat */

        case 5:
          if (!
#line 10483 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 9185; /* *aarch64_sve_uqincvnx8hi_cntp */

        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;
  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 879; /* 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 880; /* 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 881; /* bswaphi2 */

    case E_V4HImode:
      if (!register_operand (operands[0], E_V4HImode)
          || GET_MODE (x3) != E_V4HImode
          || !register_operand (operands[1], E_V4HImode)
          || !
#line 436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1539; /* bswapv4hi2 */

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode)
          || GET_MODE (x3) != E_V8HImode
          || !register_operand (operands[1], E_V8HImode)
          || !
#line 436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1540; /* bswapv8hi2 */

    case E_V2SImode:
      if (!register_operand (operands[0], E_V2SImode)
          || GET_MODE (x3) != E_V2SImode
          || !register_operand (operands[1], E_V2SImode)
          || !
#line 436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1541; /* bswapv2si2 */

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || GET_MODE (x3) != E_V4SImode
          || !register_operand (operands[1], E_V4SImode)
          || !
#line 436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1542; /* bswapv4si2 */

    case E_V2DImode:
      if (!register_operand (operands[0], E_V2DImode)
          || GET_MODE (x3) != E_V2DImode
          || !register_operand (operands[1], E_V2DImode)
          || !
#line 436 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1543; /* bswapv2di2 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern19 (x1))
    {
    case 0:
      if (!
#line 6785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
        return -1;
      return 1078; /* smaxsi3 */

    case 1:
      if (!
#line 6785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
        return -1;
      return 1081; /* smaxdi3 */

    case 2:
      if (!
#line 6800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1084; /* smaxsf3 */

    case 3:
      if (!
#line 6800 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1085; /* smaxdf3 */

    case 4:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1929; /* smaxv8qi3 */

    case 5:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1933; /* smaxv16qi3 */

    case 6:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1937; /* smaxv4hi3 */

    case 7:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1941; /* smaxv8hi3 */

    case 8:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1945; /* smaxv2si3 */

    case 9:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1949; /* smaxv4si3 */

    case 10:
      if (!(
#line 3391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2425; /* smaxv4hf3 */

    case 11:
      if (!(
#line 3391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2427; /* smaxv8hf3 */

    case 12:
      if (!
#line 3391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2429; /* smaxv2sf3 */

    case 13:
      if (!
#line 3391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2431; /* smaxv4sf3 */

    case 14:
      if (!
#line 3391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2433; /* smaxv2df3 */

    case 15:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5932; /* *post_ra_smaxvnx16qi3 */

    case 16:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5937; /* *post_ra_smaxvnx8qi3 */

    case 17:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5942; /* *post_ra_smaxvnx4qi3 */

    case 18:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5947; /* *post_ra_smaxvnx2qi3 */

    case 19:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5952; /* *post_ra_smaxvnx8hi3 */

    case 20:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5957; /* *post_ra_smaxvnx4hi3 */

    case 21:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5962; /* *post_ra_smaxvnx2hi3 */

    case 22:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5967; /* *post_ra_smaxvnx4si3 */

    case 23:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5972; /* *post_ra_smaxvnx2si3 */

    case 24:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5977; /* *post_ra_smaxvnx2di3 */

    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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern19 (x1))
    {
    case 0:
      if (!
#line 6785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
        return -1;
      return 1079; /* sminsi3 */

    case 1:
      if (!
#line 6785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
        return -1;
      return 1082; /* smindi3 */

    case 2:
      if (!
#line 6809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1086; /* sminsf3 */

    case 3:
      if (!
#line 6809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 1087; /* smindf3 */

    case 4:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1930; /* sminv8qi3 */

    case 5:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1934; /* sminv16qi3 */

    case 6:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1938; /* sminv4hi3 */

    case 7:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1942; /* sminv8hi3 */

    case 8:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1946; /* sminv2si3 */

    case 9:
      if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 1950; /* sminv4si3 */

    case 10:
      if (!(
#line 3391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2426; /* sminv4hf3 */

    case 11:
      if (!(
#line 3391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
        return -1;
      return 2428; /* sminv8hf3 */

    case 12:
      if (!
#line 3391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2430; /* sminv2sf3 */

    case 13:
      if (!
#line 3391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2432; /* sminv4sf3 */

    case 14:
      if (!
#line 3391 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2434; /* sminv2df3 */

    case 15:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5933; /* *post_ra_sminvnx16qi3 */

    case 16:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5938; /* *post_ra_sminvnx8qi3 */

    case 17:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5943; /* *post_ra_sminvnx4qi3 */

    case 18:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5948; /* *post_ra_sminvnx2qi3 */

    case 19:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5953; /* *post_ra_sminvnx8hi3 */

    case 20:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5958; /* *post_ra_sminvnx4hi3 */

    case 21:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5963; /* *post_ra_sminvnx2hi3 */

    case 22:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5968; /* *post_ra_sminvnx4si3 */

    case 23:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5973; /* *post_ra_sminvnx2si3 */

    case 24:
      if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return -1;
      return 5978; /* *post_ra_sminvnx2di3 */

    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;
  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 477; /* aarch64_cstoreqi */
              break;

            case E_HImode:
              if (register_operand (operands[0], E_HImode)
                  && aarch64_comparison_operator_mode (operands[1], E_HImode))
                return 478; /* aarch64_cstorehi */
              break;

            case E_SImode:
              if (register_operand (operands[0], E_SImode)
                  && aarch64_comparison_operator_mode (operands[1], E_SImode))
                return 479; /* aarch64_cstoresi */
              break;

            case E_DImode:
              if (register_operand (operands[0], E_DImode)
                  && aarch64_comparison_operator_mode (operands[1], E_DImode))
                return 480; /* 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 (pattern495 (x2, E_SImode) != 0
              || !
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 481; /* *compare_cstoresi_insn */

        case E_DImode:
          if (pattern495 (x2, E_DImode) != 0
              || !
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 483; /* *compare_cstoredi_insn */

        default:
          return -1;
        }

    case NE:
      switch (GET_MODE (operands[0]))
        {
        case E_SImode:
          if (pattern495 (x2, E_SImode) != 0
              || !
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 482; /* *compare_cstoresi_insn */

        case E_DImode:
          if (pattern495 (x2, E_DImode) != 0
              || !
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 484; /* *compare_cstoredi_insn */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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;
  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 (pattern270 (x3))
            {
            case 0:
              if (
#line 5358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0))
                return 754; /* *aarch64_rotr_reg_si3_mask1 */
              break;

            case 1:
              if (
#line 5358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0))
                return 759; /* *aarch64_rotr_reg_di3_mask1 */
              break;

            case 2:
              if (
#line 5422 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 776; /* *aarch64_rotr_reg_di3_mask2 */
              break;

            case 3:
              if (
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)))
                return 764; /* *aarch64_rotr_reg_si3_neg_mask2 */
              break;

            case 4:
              if (
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return 769; /* *aarch64_rotr_reg_di3_neg_mask2 */
              break;

            default:
              break;
            }
        }
      operands[2] = x5;
      switch (pattern344 (x3))
        {
        case 0:
          return 795; /* *rorsi3_insn */

        case 1:
          return 796; /* *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)
              || pattern187 (x3, E_V2DImode) != 0
              || !
#line 8345 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SHA3))
            return -1;
          return 4351; /* aarch64_xarqv2di */

        case CONST_VECTOR:
        case CONST:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx16QImode:
              if (pattern536 (x3, E_VNx16QImode) != 0
                  || !
#line 769 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9515; /* aarch64_sve2_xarvnx16qi */

            case E_VNx8HImode:
              if (pattern536 (x3, E_VNx8HImode) != 0
                  || !
#line 769 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9516; /* aarch64_sve2_xarvnx8hi */

            case E_VNx4SImode:
              if (pattern536 (x3, E_VNx4SImode) != 0
                  || !
#line 769 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9517; /* aarch64_sve2_xarvnx4si */

            case E_VNx2DImode:
              if (pattern536 (x3, E_VNx2DImode) != 0
                  || !
#line 769 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                return -1;
              return 9518; /* aarch64_sve2_xarvnx2di */

            default:
              return -1;
            }

        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;
  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 (pattern375 (x2))
            {
            case 0:
              return 509; /* csinc3si_insn */

            case 1:
              return 510; /* csinc3di_insn */

            default:
              return -1;
            }

        case NOT:
          switch (pattern375 (x2))
            {
            case 0:
              return 511; /* *csinv3si_insn */

            case 1:
              return 512; /* *csinv3di_insn */

            default:
              return -1;
            }

        case NEG:
          switch (pattern375 (x2))
            {
            case 0:
              return 515; /* csneg3si_insn */

            case 1:
              return 516; /* 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 517; /* *csinv3_uxtw_insn1 */

                case NOT:
                  x11 = XEXP (x10, 0);
                  operands[3] = x11;
                  if (!register_operand (operands[3], E_SImode))
                    return -1;
                  return 518; /* *csinv3_uxtw_insn1 */

                default:
                  return -1;
                }

            case NEG:
              switch (pattern634 (x2))
                {
                case 0:
                  return 519; /* *csinv3_uxtw_insn2 */

                case 1:
                  return 521; /* *csinv3_uxtw_insn3 */

                default:
                  return -1;
                }

            case NOT:
              switch (pattern634 (x2))
                {
                case 0:
                  return 520; /* *csinv3_uxtw_insn2 */

                case 1:
                  return 522; /* *csinv3_uxtw_insn3 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    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;
  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 (pattern357 (x3, E_QImode, E_VNx16QImode) != 0
          || !
#line 2677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5266; /* vec_seriesvnx16qi */

    case E_VNx8QImode:
      if (pattern357 (x3, E_QImode, E_VNx8QImode) != 0
          || !
#line 2677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5267; /* vec_seriesvnx8qi */

    case E_VNx4QImode:
      if (pattern357 (x3, E_QImode, E_VNx4QImode) != 0
          || !
#line 2677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5268; /* vec_seriesvnx4qi */

    case E_VNx2QImode:
      if (pattern357 (x3, E_QImode, E_VNx2QImode) != 0
          || !
#line 2677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5269; /* vec_seriesvnx2qi */

    case E_VNx8HImode:
      if (pattern357 (x3, E_HImode, E_VNx8HImode) != 0
          || !
#line 2677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5270; /* vec_seriesvnx8hi */

    case E_VNx4HImode:
      if (pattern357 (x3, E_HImode, E_VNx4HImode) != 0
          || !
#line 2677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5271; /* vec_seriesvnx4hi */

    case E_VNx2HImode:
      if (pattern357 (x3, E_HImode, E_VNx2HImode) != 0
          || !
#line 2677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5272; /* vec_seriesvnx2hi */

    case E_VNx4SImode:
      if (pattern357 (x3, E_SImode, E_VNx4SImode) != 0
          || !
#line 2677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5273; /* vec_seriesvnx4si */

    case E_VNx2SImode:
      if (pattern357 (x3, E_SImode, E_VNx2SImode) != 0
          || !
#line 2677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5274; /* vec_seriesvnx2si */

    case E_VNx2DImode:
      if (pattern357 (x3, E_DImode, E_VNx2DImode) != 0
          || !
#line 2677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 5275; /* vec_seriesvnx2di */

    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;
  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
          || !register_operand (operands[1], E_DFmode)
          || !
#line 6419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
        return -1;
      return 996; /* truncdfsf2 */

    case E_HFmode:
      if (!register_operand (operands[0], E_HFmode)
          || GET_MODE (x3) != E_HFmode)
        return -1;
      switch (GET_MODE (operands[1]))
        {
        case E_SFmode:
          if (!register_operand (operands[1], E_SFmode)
              || !
#line 6427 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 997; /* truncsfhf2 */

        case E_DFmode:
          if (!register_operand (operands[1], E_DFmode)
              || !
#line 6435 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 998; /* truncdfhf2 */

        default:
          return -1;
        }

    case E_V2SFmode:
      if (!register_operand (operands[0], E_V2SFmode)
          || GET_MODE (x3) != E_V2SFmode
          || !register_operand (operands[1], E_V2DFmode)
          || !
#line 3296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2419; /* aarch64_float_truncate_lo_v2sf */

    case E_V4HFmode:
      if (!register_operand (operands[0], E_V4HFmode)
          || GET_MODE (x3) != E_V4HFmode
          || !register_operand (operands[1], E_V4SFmode)
          || !
#line 3296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
        return -1;
      return 2420; /* aarch64_float_truncate_lo_v4hf */

    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];
  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 (pattern189 (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_454 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_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 314; /* 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 (pattern933 (x1, E_SImode, E_DImode) != 0)
            return -1;
          return 373; /* *usubsi3_carryinC_z1 */

        case E_TImode:
          if (pattern933 (x1, E_DImode, E_TImode) != 0)
            return -1;
          return 374; /* *usubdi3_carryinC_z1 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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];
  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 (pattern888 (x6, E_SImode) != 0
          || !
#line 3209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) == -UINTVAL (operands[3])))
        return -1;
      return 319; /* subsi3_compare1_imm */

    case E_DImode:
      if (pattern888 (x6, E_DImode) != 0
          || !
#line 3209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) == -UINTVAL (operands[3])))
        return -1;
      return 320; /* subdi3_compare1_imm */

    default:
      return -1;
    }
}

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];
  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 (pattern868 (x1))
                {
                case 0:
                  return 161; /* addsi3_compare0 */

                case 1:
                  return 162; /* adddi3_compare0 */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              if (pattern821 (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 163; /* *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 (pattern868 (x1))
            {
            case 0:
              return 166; /* addsi3_compareC */

            case 1:
              return 167; /* 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 (pattern743 (x2) != 0)
            return -1;
          switch (pattern887 (x1))
            {
            case 0:
              if (pattern937 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 172; /* addsi3_compareV_imm */

            case 1:
              if (pattern937 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 173; /* adddi3_compareV_imm */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          if (pattern743 (x2) != 0)
            return -1;
          x15 = XEXP (x6, 0);
          operands[2] = x15;
          switch (pattern887 (x1))
            {
            case 0:
              if (pattern938 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 174; /* addsi3_compareV */

            case 1:
              if (pattern938 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 175; /* 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 (pattern870 (x1))
            {
            case 0:
              return 188; /* *adds_extendqi_si */

            case 1:
              return 192; /* *adds_extendhi_si */

            case 2:
              return 196; /* *adds_extendsi_si */

            case 3:
              return 190; /* *adds_extendqi_di */

            case 4:
              return 194; /* *adds_extendhi_di */

            case 5:
              return 198; /* *adds_extendsi_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFT:
      if (pattern619 (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 (pattern621 (x1))
            {
            case 0:
              return 176; /* *adds_shift_imm_si */

            case 1:
              return 179; /* *adds_shift_imm_di */

            default:
              return -1;
            }

        case SIGN_EXTEND:
          switch (pattern913 (x1, SIGN_EXTEND))
            {
            case 0:
              return 212; /* *adds_extendqi_shift_si */

            case 1:
              return 216; /* *adds_extendhi_shift_si */

            case 2:
              return 220; /* *adds_extendsi_shift_si */

            case 3:
              return 214; /* *adds_extendqi_shift_di */

            case 4:
              return 218; /* *adds_extendhi_shift_di */

            case 5:
              return 222; /* *adds_extendsi_shift_di */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          switch (pattern913 (x1, ZERO_EXTEND))
            {
            case 0:
              return 213; /* *adds_zero_extendqi_shift_si */

            case 1:
              return 217; /* *adds_zero_extendhi_shift_si */

            case 2:
              return 221; /* *adds_zero_extendsi_shift_si */

            case 3:
              return 215; /* *adds_zero_extendqi_shift_di */

            case 4:
              return 219; /* *adds_zero_extendhi_shift_di */

            case 5:
              return 223; /* *adds_zero_extendsi_shift_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern623 (x1, ASHIFTRT))
        {
        case 0:
          return 177; /* *adds_shift_imm_si */

        case 1:
          return 180; /* *adds_shift_imm_di */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern623 (x1, LSHIFTRT))
        {
        case 0:
          return 178; /* *adds_shift_imm_si */

        case 1:
          return 181; /* *adds_shift_imm_di */

        default:
          return -1;
        }

    case ZERO_EXTEND:
      if (pattern619 (x1, ZERO_EXTEND) != 0)
        return -1;
      x14 = XEXP (x5, 0);
      operands[1] = x14;
      x6 = XEXP (x4, 1);
      operands[2] = x6;
      switch (pattern870 (x1))
        {
        case 0:
          return 189; /* *adds_zero_extendqi_si */

        case 1:
          return 193; /* *adds_zero_extendhi_si */

        case 2:
          return 197; /* *adds_zero_extendsi_si */

        case 3:
          return 191; /* *adds_zero_extendqi_di */

        case 4:
          return 195; /* *adds_zero_extendhi_di */

        case 5:
          return 199; /* *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 (pattern923 (x1, E_SImode, E_DImode) != 0
                  || !
#line 2801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(rtx_mode_t (operands[4], DImode)
   == (wi::shwi (1, DImode) << (unsigned) GET_MODE_BITSIZE (SImode))))
                return -1;
              return 290; /* *addsi3_carryinC_zero */

            case E_TImode:
              if (pattern923 (x1, E_DImode, E_TImode) != 0
                  || !
#line 2801 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(rtx_mode_t (operands[4], TImode)
   == (wi::shwi (1, TImode) << (unsigned) GET_MODE_BITSIZE (DImode))))
                return -1;
              return 291; /* *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 (pattern939 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 294; /* *addsi3_carryinV_zero */

            case E_TImode:
              if (pattern939 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 295; /* *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 (pattern955 (x1, E_SImode, E_DImode) != 0
                  || !
#line 2821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(rtx_mode_t (operands[5], DImode)
   == (wi::shwi (1, DImode) << (unsigned) GET_MODE_BITSIZE (SImode))))
                return -1;
              return 292; /* *addsi3_carryinC */

            case E_TImode:
              if (pattern955 (x1, E_DImode, E_TImode) != 0
                  || !
#line 2821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(rtx_mode_t (operands[5], TImode)
   == (wi::shwi (1, TImode) << (unsigned) GET_MODE_BITSIZE (DImode))))
                return -1;
              return 293; /* *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 (pattern967 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 296; /* *addsi3_carryinV */

            case E_TImode:
              if (pattern967 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 297; /* *adddi3_carryinV */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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];
  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 315; /* 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 394; /* 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 395; /* negdi2_compare0 */

            default:
              return -1;
            }

        case ZERO_EXTEND:
          if (pattern821 (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 396; /* *negsi2_compare0_uxtw */

        default:
          return -1;
        }

    case ASHIFT:
      switch (pattern624 (x1, ASHIFT))
        {
        case 0:
          return 397; /* *neg_lslsi3_compare0 */

        case 1:
          return 400; /* *neg_lsldi3_compare0 */

        default:
          return -1;
        }

    case ASHIFTRT:
      switch (pattern624 (x1, ASHIFTRT))
        {
        case 0:
          return 398; /* *neg_asrsi3_compare0 */

        case 1:
          return 401; /* *neg_asrdi3_compare0 */

        default:
          return -1;
        }

    case LSHIFTRT:
      switch (pattern624 (x1, LSHIFTRT))
        {
        case 0:
          return 399; /* *neg_lsrsi3_compare0 */

        case 1:
          return 402; /* *neg_lsrdi3_compare0 */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8454; /* while_wrsivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8464; /* while_wrdivnx2bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8434; /* while_wrsivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8444; /* while_wrdivnx4bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8414; /* while_wrsivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8424; /* while_wrdivnx8bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8394; /* while_wrsivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8404; /* while_wrdivnx16bi_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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8374; /* *while_wrsivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8384; /* *while_wrdivnx2bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8354; /* *while_wrsivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8364; /* *while_wrdivnx4bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8334; /* *while_wrsivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8344; /* *while_wrdivnx8bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8314; /* *while_wrsivnx16bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8324; /* *while_wrdivnx16bi_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8453; /* while_rwsivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8463; /* while_rwdivnx2bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8433; /* while_rwsivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8443; /* while_rwdivnx4bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8413; /* while_rwsivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8423; /* while_rwdivnx8bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8393; /* while_rwsivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8403; /* while_rwdivnx16bi_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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8373; /* *while_rwsivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8383; /* *while_rwdivnx2bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8353; /* *while_rwsivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8363; /* *while_rwdivnx4bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8333; /* *while_rwsivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8343; /* *while_rwdivnx8bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8313; /* *while_rwsivnx16bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8323; /* *while_rwdivnx16bi_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8452; /* while_ugesivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8462; /* while_ugedivnx2bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8432; /* while_ugesivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8442; /* while_ugedivnx4bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8412; /* while_ugesivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8422; /* while_ugedivnx8bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8392; /* while_ugesivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8402; /* while_ugedivnx16bi_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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8372; /* *while_ugesivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8382; /* *while_ugedivnx2bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8352; /* *while_ugesivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8362; /* *while_ugedivnx4bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8332; /* *while_ugesivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8342; /* *while_ugedivnx8bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8312; /* *while_ugesivnx16bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8322; /* *while_ugedivnx16bi_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8451; /* while_ugtsivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8461; /* while_ugtdivnx2bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8431; /* while_ugtsivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8441; /* while_ugtdivnx4bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8411; /* while_ugtsivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8421; /* while_ugtdivnx8bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8391; /* while_ugtsivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8401; /* while_ugtdivnx16bi_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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8371; /* *while_ugtsivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8381; /* *while_ugtdivnx2bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8351; /* *while_ugtsivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8361; /* *while_ugtdivnx4bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8331; /* *while_ugtsivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8341; /* *while_ugtdivnx8bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8311; /* *while_ugtsivnx16bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8321; /* *while_ugtdivnx16bi_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8450; /* while_gtsivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8460; /* while_gtdivnx2bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8430; /* while_gtsivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8440; /* while_gtdivnx4bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8410; /* while_gtsivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8420; /* while_gtdivnx8bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8390; /* while_gtsivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8400; /* while_gtdivnx16bi_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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8370; /* *while_gtsivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8380; /* *while_gtdivnx2bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8350; /* *while_gtsivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8360; /* *while_gtdivnx4bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8330; /* *while_gtsivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8340; /* *while_gtdivnx8bi_cc */
}

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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8310; /* *while_gtsivnx16bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8320; /* *while_gtdivnx16bi_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8449; /* while_gesivnx2bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8459; /* while_gedivnx2bi_ptest */
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8429; /* while_gesivnx4bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8439; /* while_gedivnx4bi_ptest */
}

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;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8409; /* while_gesivnx8bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8419; /* while_gedivnx8bi_ptest */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8389; /* while_gesivnx16bi_ptest */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8399; /* while_gedivnx16bi_ptest */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8369; /* *while_gesivnx2bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8379; /* *while_gedivnx2bi_cc */
}

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;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8349; /* *while_gesivnx4bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8359; /* *while_gedivnx4bi_cc */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8329; /* *while_gesivnx8bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8339; /* *while_gedivnx8bi_cc */
}

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];
  int res ATTRIBUTE_UNUSED;
  if (aarch64_reg_or_zero (operands[1], E_SImode)
      && aarch64_reg_or_zero (operands[2], E_SImode)
      && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return 8309; /* *while_gesivnx16bi_cc */
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !(
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
    return -1;
  return 8319; /* *while_gedivnx16bi_cc */
}

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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern750 (x1))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8305; /* *while_lesivnx16bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8315; /* *while_ledivnx16bi_cc */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8325; /* *while_lesivnx8bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8335; /* *while_ledivnx8bi_cc */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8345; /* *while_lesivnx4bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8355; /* *while_ledivnx4bi_cc */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8365; /* *while_lesivnx2bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8375; /* *while_ledivnx2bi_cc */

    case 4:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8385; /* while_lesivnx16bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8395; /* while_ledivnx16bi_ptest */

    case 5:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8405; /* while_lesivnx8bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8415; /* while_ledivnx8bi_ptest */

    case 6:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8425; /* while_lesivnx4bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8435; /* while_ledivnx4bi_ptest */

    case 7:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8445; /* while_lesivnx2bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8455; /* while_ledivnx2bi_ptest */

    case 8:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8306; /* *while_ultsivnx16bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8316; /* *while_ultdivnx16bi_cc */

    case 9:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8326; /* *while_ultsivnx8bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8336; /* *while_ultdivnx8bi_cc */

    case 10:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8346; /* *while_ultsivnx4bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8356; /* *while_ultdivnx4bi_cc */

    case 11:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8366; /* *while_ultsivnx2bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8376; /* *while_ultdivnx2bi_cc */

    case 12:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8386; /* while_ultsivnx16bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8396; /* while_ultdivnx16bi_ptest */

    case 13:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8406; /* while_ultsivnx8bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8416; /* while_ultdivnx8bi_ptest */

    case 14:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8426; /* while_ultsivnx4bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8436; /* while_ultdivnx4bi_ptest */

    case 15:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8446; /* while_ultsivnx2bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8456; /* while_ultdivnx2bi_ptest */

    case 16:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8307; /* *while_ulesivnx16bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8317; /* *while_uledivnx16bi_cc */

    case 17:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8327; /* *while_ulesivnx8bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8337; /* *while_uledivnx8bi_cc */

    case 18:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8347; /* *while_ulesivnx4bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8357; /* *while_uledivnx4bi_cc */

    case 19:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8367; /* *while_ulesivnx2bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8377; /* *while_uledivnx2bi_cc */

    case 20:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8387; /* while_ulesivnx16bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8397; /* while_uledivnx16bi_ptest */

    case 21:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8407; /* while_ulesivnx8bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8417; /* while_uledivnx8bi_ptest */

    case 22:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8427; /* while_ulesivnx4bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8437; /* while_uledivnx4bi_ptest */

    case 23:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8447; /* while_ulesivnx2bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8457; /* while_uledivnx2bi_ptest */

    case 24:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8308; /* *while_ltsivnx16bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8318; /* *while_ltdivnx16bi_cc */

    case 25:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8328; /* *while_ltsivnx8bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8338; /* *while_ltdivnx8bi_cc */

    case 26:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8348; /* *while_ltsivnx4bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8358; /* *while_ltdivnx4bi_cc */

    case 27:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8368; /* *while_ltsivnx2bi_cc */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8378; /* *while_ltdivnx2bi_cc */

    case 28:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8388; /* while_ltsivnx16bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8398; /* while_ltdivnx16bi_ptest */

    case 29:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8408; /* while_ltsivnx8bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8418; /* while_ltdivnx8bi_ptest */

    case 30:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8428; /* while_ltsivnx4bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8438; /* while_ltdivnx4bi_ptest */

    case 31:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && 
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return 8448; /* while_ltsivnx2bi_ptest */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 8458; /* while_ltdivnx2bi_ptest */

    case 32:
      return recog_505 (x1, insn, pnum_clobbers);

    case 33:
      return recog_504 (x1, insn, pnum_clobbers);

    case 34:
      return recog_503 (x1, insn, pnum_clobbers);

    case 35:
      return recog_502 (x1, insn, pnum_clobbers);

    case 36:
      return recog_501 (x1, insn, pnum_clobbers);

    case 37:
      return recog_500 (x1, insn, pnum_clobbers);

    case 38:
      return recog_499 (x1, insn, pnum_clobbers);

    case 39:
      return recog_498 (x1, insn, pnum_clobbers);

    case 40:
      return recog_497 (x1, insn, pnum_clobbers);

    case 41:
      return recog_496 (x1, insn, pnum_clobbers);

    case 42:
      return recog_495 (x1, insn, pnum_clobbers);

    case 43:
      return recog_494 (x1, insn, pnum_clobbers);

    case 44:
      return recog_493 (x1, insn, pnum_clobbers);

    case 45:
      return recog_492 (x1, insn, pnum_clobbers);

    case 46:
      return recog_491 (x1, insn, pnum_clobbers);

    case 47:
      return recog_490 (x1, insn, pnum_clobbers);

    case 48:
      return recog_489 (x1, insn, pnum_clobbers);

    case 49:
      return recog_488 (x1, insn, pnum_clobbers);

    case 50:
      return recog_487 (x1, insn, pnum_clobbers);

    case 51:
      return recog_486 (x1, insn, pnum_clobbers);

    case 52:
      return recog_485 (x1, insn, pnum_clobbers);

    case 53:
      return recog_484 (x1, insn, pnum_clobbers);

    case 54:
      return recog_483 (x1, insn, pnum_clobbers);

    case 55:
      return recog_482 (x1, insn, pnum_clobbers);

    case 56:
      return recog_481 (x1, insn, pnum_clobbers);

    case 57:
      return recog_480 (x1, insn, pnum_clobbers);

    case 58:
      return recog_479 (x1, insn, pnum_clobbers);

    case 59:
      return recog_478 (x1, insn, pnum_clobbers);

    case 60:
      return recog_477 (x1, insn, pnum_clobbers);

    case 61:
      return recog_476 (x1, insn, pnum_clobbers);

    case 62:
      return recog_475 (x1, insn, pnum_clobbers);

    case 63:
      return recog_474 (x1, insn, pnum_clobbers);

    case 64:
      return recog_473 (x1, insn, pnum_clobbers);

    case 65:
      return recog_472 (x1, insn, pnum_clobbers);

    case 66:
      return recog_471 (x1, insn, pnum_clobbers);

    case 67:
      return recog_470 (x1, insn, pnum_clobbers);

    case 68:
      return recog_469 (x1, insn, pnum_clobbers);

    case 69:
      return recog_468 (x1, insn, pnum_clobbers);

    case 70:
      return recog_467 (x1, insn, pnum_clobbers);

    case 71:
      return recog_466 (x1, insn, pnum_clobbers);

    case 72:
      return recog_465 (x1, insn, pnum_clobbers);

    case 73:
      return recog_464 (x1, insn, pnum_clobbers);

    case 74:
      return recog_463 (x1, insn, pnum_clobbers);

    case 75:
      return recog_462 (x1, insn, pnum_clobbers);

    case 76:
      return recog_461 (x1, insn, pnum_clobbers);

    case 77:
      return recog_460 (x1, insn, pnum_clobbers);

    case 78:
      return recog_459 (x1, insn, pnum_clobbers);

    case 79:
      return recog_458 (x1, insn, pnum_clobbers);

    case 80:
      if (!
#line 9760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9097; /* *aarch64_brkn_cc */

    case 81:
      if (!
#line 9784 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 9098; /* *aarch64_brkn_ptest */

    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, 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 (pattern745 (x1))
        {
        case 0:
          if (!
#line 979 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4747; /* *aarch64_sve_ptruevnx16bi_cc */

        case 1:
          if (!
#line 1031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4751; /* *aarch64_sve_ptruevnx16bi_ptest */

        default:
          return -1;
        }

    case SUBREG:
      switch (pattern747 (x1))
        {
        case 0:
          if (!
#line 1005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4748; /* *aarch64_sve_ptruevnx8bi_cc */

        case 1:
          if (!
#line 1005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4749; /* *aarch64_sve_ptruevnx4bi_cc */

        case 2:
          if (!
#line 1005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4750; /* *aarch64_sve_ptruevnx2bi_cc */

        case 3:
          if (!
#line 1057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4752; /* *aarch64_sve_ptruevnx8bi_ptest */

        case 4:
          if (!
#line 1057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4753; /* *aarch64_sve_ptruevnx4bi_ptest */

        case 5:
          if (!
#line 1057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4754; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4761; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 4763; /* *aarch64_rdffr_cc */

        default:
          return -1;
        }

    case UNSPEC:
      return recog_506 (x1, insn, pnum_clobbers);

    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, 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 324:
      switch (pattern963 (x1, 324))
        {
        case 0:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8165; /* *aarch64_pred_cmpeqvnx16qi_wide_cc */

        case 1:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8175; /* *aarch64_pred_cmpeqvnx8hi_wide_cc */

        case 2:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8185; /* *aarch64_pred_cmpeqvnx4si_wide_cc */

        case 3:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8195; /* *aarch64_pred_cmpeqvnx16qi_wide_ptest */

        case 4:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8205; /* *aarch64_pred_cmpeqvnx8hi_wide_ptest */

        case 5:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8215; /* *aarch64_pred_cmpeqvnx4si_wide_ptest */

        default:
          return -1;
        }

    case 325:
      switch (pattern963 (x1, 325))
        {
        case 0:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8166; /* *aarch64_pred_cmpgevnx16qi_wide_cc */

        case 1:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8176; /* *aarch64_pred_cmpgevnx8hi_wide_cc */

        case 2:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8186; /* *aarch64_pred_cmpgevnx4si_wide_cc */

        case 3:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8196; /* *aarch64_pred_cmpgevnx16qi_wide_ptest */

        case 4:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8206; /* *aarch64_pred_cmpgevnx8hi_wide_ptest */

        case 5:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8216; /* *aarch64_pred_cmpgevnx4si_wide_ptest */

        default:
          return -1;
        }

    case 326:
      switch (pattern963 (x1, 326))
        {
        case 0:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8167; /* *aarch64_pred_cmpgtvnx16qi_wide_cc */

        case 1:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8177; /* *aarch64_pred_cmpgtvnx8hi_wide_cc */

        case 2:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8187; /* *aarch64_pred_cmpgtvnx4si_wide_cc */

        case 3:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8197; /* *aarch64_pred_cmpgtvnx16qi_wide_ptest */

        case 4:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8207; /* *aarch64_pred_cmpgtvnx8hi_wide_ptest */

        case 5:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8217; /* *aarch64_pred_cmpgtvnx4si_wide_ptest */

        default:
          return -1;
        }

    case 327:
      switch (pattern963 (x1, 327))
        {
        case 0:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8168; /* *aarch64_pred_cmphivnx16qi_wide_cc */

        case 1:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8178; /* *aarch64_pred_cmphivnx8hi_wide_cc */

        case 2:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8188; /* *aarch64_pred_cmphivnx4si_wide_cc */

        case 3:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8198; /* *aarch64_pred_cmphivnx16qi_wide_ptest */

        case 4:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8208; /* *aarch64_pred_cmphivnx8hi_wide_ptest */

        case 5:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8218; /* *aarch64_pred_cmphivnx4si_wide_ptest */

        default:
          return -1;
        }

    case 328:
      switch (pattern963 (x1, 328))
        {
        case 0:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8169; /* *aarch64_pred_cmphsvnx16qi_wide_cc */

        case 1:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8179; /* *aarch64_pred_cmphsvnx8hi_wide_cc */

        case 2:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8189; /* *aarch64_pred_cmphsvnx4si_wide_cc */

        case 3:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8199; /* *aarch64_pred_cmphsvnx16qi_wide_ptest */

        case 4:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8209; /* *aarch64_pred_cmphsvnx8hi_wide_ptest */

        case 5:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8219; /* *aarch64_pred_cmphsvnx4si_wide_ptest */

        default:
          return -1;
        }

    case 329:
      switch (pattern963 (x1, 329))
        {
        case 0:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8170; /* *aarch64_pred_cmplevnx16qi_wide_cc */

        case 1:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8180; /* *aarch64_pred_cmplevnx8hi_wide_cc */

        case 2:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8190; /* *aarch64_pred_cmplevnx4si_wide_cc */

        case 3:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8200; /* *aarch64_pred_cmplevnx16qi_wide_ptest */

        case 4:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8210; /* *aarch64_pred_cmplevnx8hi_wide_ptest */

        case 5:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8220; /* *aarch64_pred_cmplevnx4si_wide_ptest */

        default:
          return -1;
        }

    case 330:
      switch (pattern963 (x1, 330))
        {
        case 0:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8171; /* *aarch64_pred_cmplovnx16qi_wide_cc */

        case 1:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8181; /* *aarch64_pred_cmplovnx8hi_wide_cc */

        case 2:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8191; /* *aarch64_pred_cmplovnx4si_wide_cc */

        case 3:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8201; /* *aarch64_pred_cmplovnx16qi_wide_ptest */

        case 4:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8211; /* *aarch64_pred_cmplovnx8hi_wide_ptest */

        case 5:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8221; /* *aarch64_pred_cmplovnx4si_wide_ptest */

        default:
          return -1;
        }

    case 331:
      switch (pattern963 (x1, 331))
        {
        case 0:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8172; /* *aarch64_pred_cmplsvnx16qi_wide_cc */

        case 1:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8182; /* *aarch64_pred_cmplsvnx8hi_wide_cc */

        case 2:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8192; /* *aarch64_pred_cmplsvnx4si_wide_cc */

        case 3:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8202; /* *aarch64_pred_cmplsvnx16qi_wide_ptest */

        case 4:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8212; /* *aarch64_pred_cmplsvnx8hi_wide_ptest */

        case 5:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8222; /* *aarch64_pred_cmplsvnx4si_wide_ptest */

        default:
          return -1;
        }

    case 332:
      switch (pattern963 (x1, 332))
        {
        case 0:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8173; /* *aarch64_pred_cmpltvnx16qi_wide_cc */

        case 1:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8183; /* *aarch64_pred_cmpltvnx8hi_wide_cc */

        case 2:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8193; /* *aarch64_pred_cmpltvnx4si_wide_cc */

        case 3:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8203; /* *aarch64_pred_cmpltvnx16qi_wide_ptest */

        case 4:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8213; /* *aarch64_pred_cmpltvnx8hi_wide_ptest */

        case 5:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8223; /* *aarch64_pred_cmpltvnx4si_wide_ptest */

        default:
          return -1;
        }

    case 333:
      switch (pattern963 (x1, 333))
        {
        case 0:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8174; /* *aarch64_pred_cmpnevnx16qi_wide_cc */

        case 1:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8184; /* *aarch64_pred_cmpnevnx8hi_wide_cc */

        case 2:
          if (!
#line 7947 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8194; /* *aarch64_pred_cmpnevnx4si_wide_cc */

        case 3:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8204; /* *aarch64_pred_cmpnevnx16qi_wide_ptest */

        case 4:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8214; /* *aarch64_pred_cmpnevnx8hi_wide_ptest */

        case 5:
          if (!
#line 7970 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8224; /* *aarch64_pred_cmpnevnx4si_wide_ptest */

        default:
          return -1;
        }

    case 434:
      switch (pattern966 (x1, 434))
        {
        case 0:
          if (!
#line 2509 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 10095; /* *aarch64_pred_matchvnx16qi_cc */

        case 1:
          if (!
#line 2509 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 10097; /* *aarch64_pred_matchvnx8hi_cc */

        case 2:
          if (!
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 10099; /* *aarch64_pred_matchvnx16qi_ptest */

        case 3:
          if (!
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 10101; /* *aarch64_pred_matchvnx8hi_ptest */

        default:
          return -1;
        }

    case 435:
      switch (pattern966 (x1, 435))
        {
        case 0:
          if (!
#line 2509 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 10096; /* *aarch64_pred_nmatchvnx16qi_cc */

        case 1:
          if (!
#line 2509 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 10098; /* *aarch64_pred_nmatchvnx8hi_cc */

        case 2:
          if (!
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 10100; /* *aarch64_pred_nmatchvnx16qi_ptest */

        case 3:
          if (!
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 10102; /* *aarch64_pred_nmatchvnx8hi_ptest */

        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];
  int res ATTRIBUTE_UNUSED;
  switch (pattern949 (x1, GTU))
    {
    case 0:
      if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7844; /* *cmphivnx16qi_cc */

    case 1:
      if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7854; /* *cmphivnx8qi_cc */

    case 2:
      if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7884; /* *cmphivnx8hi_cc */

    case 3:
      if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7864; /* *cmphivnx4qi_cc */

    case 4:
      if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7894; /* *cmphivnx4hi_cc */

    case 5:
      if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7914; /* *cmphivnx4si_cc */

    case 6:
      if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7874; /* *cmphivnx2qi_cc */

    case 7:
      if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7904; /* *cmphivnx2hi_cc */

    case 8:
      if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7924; /* *cmphivnx2si_cc */

    case 9:
      if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7934; /* *cmphivnx2di_cc */

    case 10:
      if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7944; /* *cmphivnx16qi_ptest */

    case 11:
      if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7954; /* *cmphivnx8qi_ptest */

    case 12:
      if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7984; /* *cmphivnx8hi_ptest */

    case 13:
      if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7964; /* *cmphivnx4qi_ptest */

    case 14:
      if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7994; /* *cmphivnx4hi_ptest */

    case 15:
      if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 8014; /* *cmphivnx4si_ptest */

    case 16:
      if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 7974; /* *cmphivnx2qi_ptest */

    case 17:
      if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 8004; /* *cmphivnx2hi_ptest */

    case 18:
      if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 8024; /* *cmphivnx2si_ptest */

    case 19:
      if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
        return -1;
      return 8034; /* *cmphivnx2di_ptest */

    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, 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 (pattern945 (x1, LT))
        {
        case 0:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7835; /* *cmpltvnx16qi_cc */

        case 1:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7845; /* *cmpltvnx8qi_cc */

        case 2:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7875; /* *cmpltvnx8hi_cc */

        case 3:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7855; /* *cmpltvnx4qi_cc */

        case 4:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7885; /* *cmpltvnx4hi_cc */

        case 5:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7905; /* *cmpltvnx4si_cc */

        case 6:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7865; /* *cmpltvnx2qi_cc */

        case 7:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7895; /* *cmpltvnx2hi_cc */

        case 8:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7915; /* *cmpltvnx2si_cc */

        case 9:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7925; /* *cmpltvnx2di_cc */

        case 10:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7935; /* *cmpltvnx16qi_ptest */

        case 11:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7945; /* *cmpltvnx8qi_ptest */

        case 12:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7975; /* *cmpltvnx8hi_ptest */

        case 13:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7955; /* *cmpltvnx4qi_ptest */

        case 14:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7985; /* *cmpltvnx4hi_ptest */

        case 15:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8005; /* *cmpltvnx4si_ptest */

        case 16:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7965; /* *cmpltvnx2qi_ptest */

        case 17:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7995; /* *cmpltvnx2hi_ptest */

        case 18:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8015; /* *cmpltvnx2si_ptest */

        case 19:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8025; /* *cmpltvnx2di_ptest */

        default:
          return -1;
        }

    case LE:
      switch (pattern945 (x1, LE))
        {
        case 0:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7836; /* *cmplevnx16qi_cc */

        case 1:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7846; /* *cmplevnx8qi_cc */

        case 2:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7876; /* *cmplevnx8hi_cc */

        case 3:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7856; /* *cmplevnx4qi_cc */

        case 4:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7886; /* *cmplevnx4hi_cc */

        case 5:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7906; /* *cmplevnx4si_cc */

        case 6:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7866; /* *cmplevnx2qi_cc */

        case 7:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7896; /* *cmplevnx2hi_cc */

        case 8:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7916; /* *cmplevnx2si_cc */

        case 9:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7926; /* *cmplevnx2di_cc */

        case 10:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7936; /* *cmplevnx16qi_ptest */

        case 11:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7946; /* *cmplevnx8qi_ptest */

        case 12:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7976; /* *cmplevnx8hi_ptest */

        case 13:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7956; /* *cmplevnx4qi_ptest */

        case 14:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7986; /* *cmplevnx4hi_ptest */

        case 15:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8006; /* *cmplevnx4si_ptest */

        case 16:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7966; /* *cmplevnx2qi_ptest */

        case 17:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7996; /* *cmplevnx2hi_ptest */

        case 18:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8016; /* *cmplevnx2si_ptest */

        case 19:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8026; /* *cmplevnx2di_ptest */

        default:
          return -1;
        }

    case EQ:
      switch (pattern945 (x1, EQ))
        {
        case 0:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7837; /* *cmpeqvnx16qi_cc */

        case 1:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7847; /* *cmpeqvnx8qi_cc */

        case 2:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7877; /* *cmpeqvnx8hi_cc */

        case 3:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7857; /* *cmpeqvnx4qi_cc */

        case 4:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7887; /* *cmpeqvnx4hi_cc */

        case 5:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7907; /* *cmpeqvnx4si_cc */

        case 6:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7867; /* *cmpeqvnx2qi_cc */

        case 7:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7897; /* *cmpeqvnx2hi_cc */

        case 8:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7917; /* *cmpeqvnx2si_cc */

        case 9:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7927; /* *cmpeqvnx2di_cc */

        case 10:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7937; /* *cmpeqvnx16qi_ptest */

        case 11:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7947; /* *cmpeqvnx8qi_ptest */

        case 12:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7977; /* *cmpeqvnx8hi_ptest */

        case 13:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7957; /* *cmpeqvnx4qi_ptest */

        case 14:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7987; /* *cmpeqvnx4hi_ptest */

        case 15:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8007; /* *cmpeqvnx4si_ptest */

        case 16:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7967; /* *cmpeqvnx2qi_ptest */

        case 17:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7997; /* *cmpeqvnx2hi_ptest */

        case 18:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8017; /* *cmpeqvnx2si_ptest */

        case 19:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8027; /* *cmpeqvnx2di_ptest */

        default:
          return -1;
        }

    case NE:
      switch (pattern945 (x1, NE))
        {
        case 0:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7838; /* *cmpnevnx16qi_cc */

        case 1:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7848; /* *cmpnevnx8qi_cc */

        case 2:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7878; /* *cmpnevnx8hi_cc */

        case 3:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7858; /* *cmpnevnx4qi_cc */

        case 4:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7888; /* *cmpnevnx4hi_cc */

        case 5:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7908; /* *cmpnevnx4si_cc */

        case 6:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7868; /* *cmpnevnx2qi_cc */

        case 7:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7898; /* *cmpnevnx2hi_cc */

        case 8:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7918; /* *cmpnevnx2si_cc */

        case 9:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7928; /* *cmpnevnx2di_cc */

        case 10:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7938; /* *cmpnevnx16qi_ptest */

        case 11:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7948; /* *cmpnevnx8qi_ptest */

        case 12:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7978; /* *cmpnevnx8hi_ptest */

        case 13:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7958; /* *cmpnevnx4qi_ptest */

        case 14:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7988; /* *cmpnevnx4hi_ptest */

        case 15:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8008; /* *cmpnevnx4si_ptest */

        case 16:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7968; /* *cmpnevnx2qi_ptest */

        case 17:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7998; /* *cmpnevnx2hi_ptest */

        case 18:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8018; /* *cmpnevnx2si_ptest */

        case 19:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8028; /* *cmpnevnx2di_ptest */

        default:
          return -1;
        }

    case GE:
      switch (pattern945 (x1, GE))
        {
        case 0:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7839; /* *cmpgevnx16qi_cc */

        case 1:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7849; /* *cmpgevnx8qi_cc */

        case 2:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7879; /* *cmpgevnx8hi_cc */

        case 3:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7859; /* *cmpgevnx4qi_cc */

        case 4:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7889; /* *cmpgevnx4hi_cc */

        case 5:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7909; /* *cmpgevnx4si_cc */

        case 6:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7869; /* *cmpgevnx2qi_cc */

        case 7:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7899; /* *cmpgevnx2hi_cc */

        case 8:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7919; /* *cmpgevnx2si_cc */

        case 9:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7929; /* *cmpgevnx2di_cc */

        case 10:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7939; /* *cmpgevnx16qi_ptest */

        case 11:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7949; /* *cmpgevnx8qi_ptest */

        case 12:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7979; /* *cmpgevnx8hi_ptest */

        case 13:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7959; /* *cmpgevnx4qi_ptest */

        case 14:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7989; /* *cmpgevnx4hi_ptest */

        case 15:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8009; /* *cmpgevnx4si_ptest */

        case 16:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7969; /* *cmpgevnx2qi_ptest */

        case 17:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7999; /* *cmpgevnx2hi_ptest */

        case 18:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8019; /* *cmpgevnx2si_ptest */

        case 19:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8029; /* *cmpgevnx2di_ptest */

        default:
          return -1;
        }

    case GT:
      switch (pattern945 (x1, GT))
        {
        case 0:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7840; /* *cmpgtvnx16qi_cc */

        case 1:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7850; /* *cmpgtvnx8qi_cc */

        case 2:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7880; /* *cmpgtvnx8hi_cc */

        case 3:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7860; /* *cmpgtvnx4qi_cc */

        case 4:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7890; /* *cmpgtvnx4hi_cc */

        case 5:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7910; /* *cmpgtvnx4si_cc */

        case 6:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7870; /* *cmpgtvnx2qi_cc */

        case 7:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7900; /* *cmpgtvnx2hi_cc */

        case 8:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7920; /* *cmpgtvnx2si_cc */

        case 9:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7930; /* *cmpgtvnx2di_cc */

        case 10:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7940; /* *cmpgtvnx16qi_ptest */

        case 11:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7950; /* *cmpgtvnx8qi_ptest */

        case 12:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7980; /* *cmpgtvnx8hi_ptest */

        case 13:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7960; /* *cmpgtvnx4qi_ptest */

        case 14:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7990; /* *cmpgtvnx4hi_ptest */

        case 15:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8010; /* *cmpgtvnx4si_ptest */

        case 16:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7970; /* *cmpgtvnx2qi_ptest */

        case 17:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8000; /* *cmpgtvnx2hi_ptest */

        case 18:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8020; /* *cmpgtvnx2si_ptest */

        case 19:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8030; /* *cmpgtvnx2di_ptest */

        default:
          return -1;
        }

    case LTU:
      switch (pattern949 (x1, LTU))
        {
        case 0:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7841; /* *cmplovnx16qi_cc */

        case 1:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7851; /* *cmplovnx8qi_cc */

        case 2:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7881; /* *cmplovnx8hi_cc */

        case 3:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7861; /* *cmplovnx4qi_cc */

        case 4:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7891; /* *cmplovnx4hi_cc */

        case 5:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7911; /* *cmplovnx4si_cc */

        case 6:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7871; /* *cmplovnx2qi_cc */

        case 7:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7901; /* *cmplovnx2hi_cc */

        case 8:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7921; /* *cmplovnx2si_cc */

        case 9:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7931; /* *cmplovnx2di_cc */

        case 10:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7941; /* *cmplovnx16qi_ptest */

        case 11:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7951; /* *cmplovnx8qi_ptest */

        case 12:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7981; /* *cmplovnx8hi_ptest */

        case 13:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7961; /* *cmplovnx4qi_ptest */

        case 14:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7991; /* *cmplovnx4hi_ptest */

        case 15:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8011; /* *cmplovnx4si_ptest */

        case 16:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7971; /* *cmplovnx2qi_ptest */

        case 17:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8001; /* *cmplovnx2hi_ptest */

        case 18:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8021; /* *cmplovnx2si_ptest */

        case 19:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8031; /* *cmplovnx2di_ptest */

        default:
          return -1;
        }

    case LEU:
      switch (pattern949 (x1, LEU))
        {
        case 0:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7842; /* *cmplsvnx16qi_cc */

        case 1:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7852; /* *cmplsvnx8qi_cc */

        case 2:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7882; /* *cmplsvnx8hi_cc */

        case 3:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7862; /* *cmplsvnx4qi_cc */

        case 4:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7892; /* *cmplsvnx4hi_cc */

        case 5:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7912; /* *cmplsvnx4si_cc */

        case 6:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7872; /* *cmplsvnx2qi_cc */

        case 7:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7902; /* *cmplsvnx2hi_cc */

        case 8:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7922; /* *cmplsvnx2si_cc */

        case 9:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7932; /* *cmplsvnx2di_cc */

        case 10:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7942; /* *cmplsvnx16qi_ptest */

        case 11:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7952; /* *cmplsvnx8qi_ptest */

        case 12:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7982; /* *cmplsvnx8hi_ptest */

        case 13:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7962; /* *cmplsvnx4qi_ptest */

        case 14:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7992; /* *cmplsvnx4hi_ptest */

        case 15:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8012; /* *cmplsvnx4si_ptest */

        case 16:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7972; /* *cmplsvnx2qi_ptest */

        case 17:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8002; /* *cmplsvnx2hi_ptest */

        case 18:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8022; /* *cmplsvnx2si_ptest */

        case 19:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8032; /* *cmplsvnx2di_ptest */

        default:
          return -1;
        }

    case GEU:
      switch (pattern949 (x1, GEU))
        {
        case 0:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7843; /* *cmphsvnx16qi_cc */

        case 1:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7853; /* *cmphsvnx8qi_cc */

        case 2:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7883; /* *cmphsvnx8hi_cc */

        case 3:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7863; /* *cmphsvnx4qi_cc */

        case 4:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7893; /* *cmphsvnx4hi_cc */

        case 5:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7913; /* *cmphsvnx4si_cc */

        case 6:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7873; /* *cmphsvnx2qi_cc */

        case 7:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7903; /* *cmphsvnx2hi_cc */

        case 8:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7923; /* *cmphsvnx2si_cc */

        case 9:
          if (!
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7933; /* *cmphsvnx2di_cc */

        case 10:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7943; /* *cmphsvnx16qi_ptest */

        case 11:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7953; /* *cmphsvnx8qi_ptest */

        case 12:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7983; /* *cmphsvnx8hi_ptest */

        case 13:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7963; /* *cmphsvnx4qi_ptest */

        case 14:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7993; /* *cmphsvnx4hi_ptest */

        case 15:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8013; /* *cmphsvnx4si_ptest */

        case 16:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 7973; /* *cmphsvnx2qi_ptest */

        case 17:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8003; /* *cmphsvnx2hi_ptest */

        case 18:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8023; /* *cmphsvnx2si_ptest */

        case 19:
          if (!
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])))
            return -1;
          return 8033; /* *cmphsvnx2di_ptest */

        default:
          return -1;
        }

    case GTU:
      return recog_509 (x1, insn, pnum_clobbers);

    case UNSPEC:
      return recog_508 (x1, insn, pnum_clobbers);

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (pattern751 (x3))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8234; /* while_wrsivnx16bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8244; /* while_wrdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8254; /* while_wrsivnx8bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8264; /* while_wrdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8274; /* while_wrsivnx4bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8284; /* while_wrdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8294; /* while_wrsivnx2bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8304; /* while_wrdivnx2bi */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (pattern751 (x3))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8233; /* while_rwsivnx16bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8243; /* while_rwdivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8253; /* while_rwsivnx8bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8263; /* while_rwdivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8273; /* while_rwsivnx4bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8283; /* while_rwdivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8293; /* while_rwsivnx2bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8303; /* while_rwdivnx2bi */

    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;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (pattern751 (x3))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8232; /* while_ugesivnx16bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8242; /* while_ugedivnx16bi */

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8252; /* while_ugesivnx8bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8262; /* while_ugedivnx8bi */

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8272; /* while_ugesivnx4bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8282; /* while_ugedivnx4bi */

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return 8292; /* while_ugesivnx2bi */
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
        return -1;
      return 8302; /* while_ugedivnx2bi */

    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;
  int res ATTRIBUTE_UNUSED;
  if (pattern287 (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 120:
      x4 = XVECEXP (x3, 0, 2);
      switch (GET_CODE (x4))
        {
        case LT:
          switch (pattern823 (x3))
            {
            case 0:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7735; /* aarch64_pred_cmpltvnx16qi */

            case 1:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7745; /* aarch64_pred_cmpltvnx8qi */

            case 2:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7775; /* aarch64_pred_cmpltvnx8hi */

            case 3:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7755; /* aarch64_pred_cmpltvnx4qi */

            case 4:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7785; /* aarch64_pred_cmpltvnx4hi */

            case 5:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7805; /* aarch64_pred_cmpltvnx4si */

            case 6:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7765; /* aarch64_pred_cmpltvnx2qi */

            case 7:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7795; /* aarch64_pred_cmpltvnx2hi */

            case 8:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7815; /* aarch64_pred_cmpltvnx2si */

            case 9:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7825; /* aarch64_pred_cmpltvnx2di */

            default:
              return -1;
            }

        case LE:
          switch (pattern823 (x3))
            {
            case 0:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7736; /* aarch64_pred_cmplevnx16qi */

            case 1:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7746; /* aarch64_pred_cmplevnx8qi */

            case 2:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7776; /* aarch64_pred_cmplevnx8hi */

            case 3:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7756; /* aarch64_pred_cmplevnx4qi */

            case 4:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7786; /* aarch64_pred_cmplevnx4hi */

            case 5:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7806; /* aarch64_pred_cmplevnx4si */

            case 6:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7766; /* aarch64_pred_cmplevnx2qi */

            case 7:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7796; /* aarch64_pred_cmplevnx2hi */

            case 8:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7816; /* aarch64_pred_cmplevnx2si */

            case 9:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7826; /* aarch64_pred_cmplevnx2di */

            default:
              return -1;
            }

        case EQ:
          switch (pattern823 (x3))
            {
            case 0:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7737; /* aarch64_pred_cmpeqvnx16qi */

            case 1:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7747; /* aarch64_pred_cmpeqvnx8qi */

            case 2:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7777; /* aarch64_pred_cmpeqvnx8hi */

            case 3:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7757; /* aarch64_pred_cmpeqvnx4qi */

            case 4:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7787; /* aarch64_pred_cmpeqvnx4hi */

            case 5:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7807; /* aarch64_pred_cmpeqvnx4si */

            case 6:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7767; /* aarch64_pred_cmpeqvnx2qi */

            case 7:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7797; /* aarch64_pred_cmpeqvnx2hi */

            case 8:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7817; /* aarch64_pred_cmpeqvnx2si */

            case 9:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7827; /* aarch64_pred_cmpeqvnx2di */

            default:
              return -1;
            }

        case NE:
          switch (pattern823 (x3))
            {
            case 0:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7738; /* aarch64_pred_cmpnevnx16qi */

            case 1:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7748; /* aarch64_pred_cmpnevnx8qi */

            case 2:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7778; /* aarch64_pred_cmpnevnx8hi */

            case 3:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7758; /* aarch64_pred_cmpnevnx4qi */

            case 4:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7788; /* aarch64_pred_cmpnevnx4hi */

            case 5:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7808; /* aarch64_pred_cmpnevnx4si */

            case 6:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7768; /* aarch64_pred_cmpnevnx2qi */

            case 7:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7798; /* aarch64_pred_cmpnevnx2hi */

            case 8:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7818; /* aarch64_pred_cmpnevnx2si */

            case 9:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7828; /* aarch64_pred_cmpnevnx2di */

            default:
              return -1;
            }

        case GE:
          switch (pattern823 (x3))
            {
            case 0:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7739; /* aarch64_pred_cmpgevnx16qi */

            case 1:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7749; /* aarch64_pred_cmpgevnx8qi */

            case 2:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7779; /* aarch64_pred_cmpgevnx8hi */

            case 3:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7759; /* aarch64_pred_cmpgevnx4qi */

            case 4:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7789; /* aarch64_pred_cmpgevnx4hi */

            case 5:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7809; /* aarch64_pred_cmpgevnx4si */

            case 6:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7769; /* aarch64_pred_cmpgevnx2qi */

            case 7:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7799; /* aarch64_pred_cmpgevnx2hi */

            case 8:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7819; /* aarch64_pred_cmpgevnx2si */

            case 9:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7829; /* aarch64_pred_cmpgevnx2di */

            default:
              return -1;
            }

        case GT:
          switch (pattern823 (x3))
            {
            case 0:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7740; /* aarch64_pred_cmpgtvnx16qi */

            case 1:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7750; /* aarch64_pred_cmpgtvnx8qi */

            case 2:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7780; /* aarch64_pred_cmpgtvnx8hi */

            case 3:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7760; /* aarch64_pred_cmpgtvnx4qi */

            case 4:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7790; /* aarch64_pred_cmpgtvnx4hi */

            case 5:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7810; /* aarch64_pred_cmpgtvnx4si */

            case 6:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7770; /* aarch64_pred_cmpgtvnx2qi */

            case 7:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7800; /* aarch64_pred_cmpgtvnx2hi */

            case 8:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7820; /* aarch64_pred_cmpgtvnx2si */

            case 9:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7830; /* aarch64_pred_cmpgtvnx2di */

            default:
              return -1;
            }

        case LTU:
          switch (pattern824 (x3))
            {
            case 0:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7741; /* aarch64_pred_cmplovnx16qi */

            case 1:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7751; /* aarch64_pred_cmplovnx8qi */

            case 2:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7781; /* aarch64_pred_cmplovnx8hi */

            case 3:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7761; /* aarch64_pred_cmplovnx4qi */

            case 4:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7791; /* aarch64_pred_cmplovnx4hi */

            case 5:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7811; /* aarch64_pred_cmplovnx4si */

            case 6:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7771; /* aarch64_pred_cmplovnx2qi */

            case 7:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7801; /* aarch64_pred_cmplovnx2hi */

            case 8:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7821; /* aarch64_pred_cmplovnx2si */

            case 9:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7831; /* aarch64_pred_cmplovnx2di */

            default:
              return -1;
            }

        case LEU:
          switch (pattern824 (x3))
            {
            case 0:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7742; /* aarch64_pred_cmplsvnx16qi */

            case 1:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7752; /* aarch64_pred_cmplsvnx8qi */

            case 2:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7782; /* aarch64_pred_cmplsvnx8hi */

            case 3:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7762; /* aarch64_pred_cmplsvnx4qi */

            case 4:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7792; /* aarch64_pred_cmplsvnx4hi */

            case 5:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7812; /* aarch64_pred_cmplsvnx4si */

            case 6:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7772; /* aarch64_pred_cmplsvnx2qi */

            case 7:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7802; /* aarch64_pred_cmplsvnx2hi */

            case 8:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7822; /* aarch64_pred_cmplsvnx2si */

            case 9:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7832; /* aarch64_pred_cmplsvnx2di */

            default:
              return -1;
            }

        case GEU:
          switch (pattern824 (x3))
            {
            case 0:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7743; /* aarch64_pred_cmphsvnx16qi */

            case 1:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7753; /* aarch64_pred_cmphsvnx8qi */

            case 2:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7783; /* aarch64_pred_cmphsvnx8hi */

            case 3:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7763; /* aarch64_pred_cmphsvnx4qi */

            case 4:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7793; /* aarch64_pred_cmphsvnx4hi */

            case 5:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7813; /* aarch64_pred_cmphsvnx4si */

            case 6:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7773; /* aarch64_pred_cmphsvnx2qi */

            case 7:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7803; /* aarch64_pred_cmphsvnx2hi */

            case 8:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7823; /* aarch64_pred_cmphsvnx2si */

            case 9:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7833; /* aarch64_pred_cmphsvnx2di */

            default:
              return -1;
            }

        case GTU:
          switch (pattern824 (x3))
            {
            case 0:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7744; /* aarch64_pred_cmphivnx16qi */

            case 1:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7754; /* aarch64_pred_cmphivnx8qi */

            case 2:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7784; /* aarch64_pred_cmphivnx8hi */

            case 3:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7764; /* aarch64_pred_cmphivnx4qi */

            case 4:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7794; /* aarch64_pred_cmphivnx4hi */

            case 5:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7814; /* aarch64_pred_cmphivnx4si */

            case 6:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7774; /* aarch64_pred_cmphivnx2qi */

            case 7:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7804; /* aarch64_pred_cmphivnx2hi */

            case 8:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7824; /* aarch64_pred_cmphivnx2si */

            case 9:
              if (!
#line 7803 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 7834; /* 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 324:
              switch (pattern907 (x3))
                {
                case 0:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8135; /* aarch64_pred_cmpeqvnx16qi_wide */

                case 1:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8145; /* aarch64_pred_cmpeqvnx8hi_wide */

                case 2:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8155; /* aarch64_pred_cmpeqvnx4si_wide */

                default:
                  return -1;
                }

            case 325:
              switch (pattern907 (x3))
                {
                case 0:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8136; /* aarch64_pred_cmpgevnx16qi_wide */

                case 1:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8146; /* aarch64_pred_cmpgevnx8hi_wide */

                case 2:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8156; /* aarch64_pred_cmpgevnx4si_wide */

                default:
                  return -1;
                }

            case 326:
              switch (pattern907 (x3))
                {
                case 0:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8137; /* aarch64_pred_cmpgtvnx16qi_wide */

                case 1:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8147; /* aarch64_pred_cmpgtvnx8hi_wide */

                case 2:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8157; /* aarch64_pred_cmpgtvnx4si_wide */

                default:
                  return -1;
                }

            case 327:
              switch (pattern907 (x3))
                {
                case 0:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8138; /* aarch64_pred_cmphivnx16qi_wide */

                case 1:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8148; /* aarch64_pred_cmphivnx8hi_wide */

                case 2:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8158; /* aarch64_pred_cmphivnx4si_wide */

                default:
                  return -1;
                }

            case 328:
              switch (pattern907 (x3))
                {
                case 0:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8139; /* aarch64_pred_cmphsvnx16qi_wide */

                case 1:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8149; /* aarch64_pred_cmphsvnx8hi_wide */

                case 2:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8159; /* aarch64_pred_cmphsvnx4si_wide */

                default:
                  return -1;
                }

            case 329:
              switch (pattern907 (x3))
                {
                case 0:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8140; /* aarch64_pred_cmplevnx16qi_wide */

                case 1:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8150; /* aarch64_pred_cmplevnx8hi_wide */

                case 2:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8160; /* aarch64_pred_cmplevnx4si_wide */

                default:
                  return -1;
                }

            case 330:
              switch (pattern907 (x3))
                {
                case 0:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8141; /* aarch64_pred_cmplovnx16qi_wide */

                case 1:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8151; /* aarch64_pred_cmplovnx8hi_wide */

                case 2:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8161; /* aarch64_pred_cmplovnx4si_wide */

                default:
                  return -1;
                }

            case 331:
              switch (pattern907 (x3))
                {
                case 0:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8142; /* aarch64_pred_cmplsvnx16qi_wide */

                case 1:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8152; /* aarch64_pred_cmplsvnx8hi_wide */

                case 2:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8162; /* aarch64_pred_cmplsvnx4si_wide */

                default:
                  return -1;
                }

            case 332:
              switch (pattern907 (x3))
                {
                case 0:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8143; /* aarch64_pred_cmpltvnx16qi_wide */

                case 1:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8153; /* aarch64_pred_cmpltvnx8hi_wide */

                case 2:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8163; /* aarch64_pred_cmpltvnx4si_wide */

                default:
                  return -1;
                }

            case 333:
              switch (pattern907 (x3))
                {
                case 0:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8144; /* aarch64_pred_cmpnevnx16qi_wide */

                case 1:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8154; /* aarch64_pred_cmpnevnx8hi_wide */

                case 2:
                  if (!
#line 7917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 8164; /* aarch64_pred_cmpnevnx4si_wide */

                default:
                  return -1;
                }

            case 434:
              switch (GET_MODE (operands[0]))
                {
                case E_VNx16BImode:
                  if (pattern915 (x3, E_VNx16QImode, E_VNx16BImode) != 0
                      || !
#line 2479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 10091; /* aarch64_pred_matchvnx16qi */

                case E_VNx8BImode:
                  if (pattern915 (x3, E_VNx8HImode, E_VNx8BImode) != 0
                      || !
#line 2479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 10093; /* aarch64_pred_matchvnx8hi */

                default:
                  return -1;
                }

            case 435:
              switch (GET_MODE (operands[0]))
                {
                case E_VNx16BImode:
                  if (pattern915 (x3, E_VNx16QImode, E_VNx16BImode) != 0
                      || !
#line 2479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 10092; /* aarch64_pred_nmatchvnx16qi */

                case E_VNx8BImode:
                  if (pattern915 (x3, E_VNx8HImode, E_VNx8BImode) != 0
                      || !
#line 2479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2))
                    return -1;
                  return 10094; /* aarch64_pred_nmatchvnx8hi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 291:
      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 9851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 8 >= 8))
        return -1;
      return 9103; /* aarch64_sve_pfirstvnx16bi */

    case 292:
      x4 = XVECEXP (x3, 0, 2);
      operands[3] = x4;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16BImode:
          if (pattern858 (x3, E_VNx16BImode) != 0
              || !
#line 9851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 8))
            return -1;
          return 9104; /* aarch64_sve_pnextvnx16bi */

        case E_VNx8BImode:
          if (pattern858 (x3, E_VNx8BImode) != 0
              || !
#line 9851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16))
            return -1;
          return 9105; /* aarch64_sve_pnextvnx8bi */

        case E_VNx4BImode:
          if (pattern858 (x3, E_VNx4BImode) != 0
              || !
#line 9851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32))
            return -1;
          return 9106; /* aarch64_sve_pnextvnx4bi */

        case E_VNx2BImode:
          if (pattern858 (x3, E_VNx2BImode) != 0
              || !
#line 9851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64))
            return -1;
          return 9107; /* aarch64_sve_pnextvnx2bi */

        default:
          return -1;
        }

    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;
  int res ATTRIBUTE_UNUSED;
  if (pattern287 (x1) != 0)
    return -1;
  x2 = XVECEXP (x1, 0, 0);
  x3 = XEXP (x2, 1);
  switch (XINT (x3, 1))
    {
    case 132:
      switch (pattern751 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8225; /* while_lesivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8235; /* while_ledivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8245; /* while_lesivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8255; /* while_ledivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8265; /* while_lesivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8275; /* while_ledivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8285; /* while_lesivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8295; /* while_ledivnx2bi */

        default:
          return -1;
        }

    case 133:
      switch (pattern751 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8226; /* while_ultsivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8236; /* while_ultdivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8246; /* while_ultsivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8256; /* while_ultdivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8266; /* while_ultsivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8276; /* while_ultdivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8286; /* while_ultsivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8296; /* while_ultdivnx2bi */

        default:
          return -1;
        }

    case 134:
      switch (pattern751 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8227; /* while_ulesivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8237; /* while_uledivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8247; /* while_ulesivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8257; /* while_uledivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8267; /* while_ulesivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8277; /* while_uledivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8287; /* while_ulesivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8297; /* while_uledivnx2bi */

        default:
          return -1;
        }

    case 135:
      switch (pattern751 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8228; /* while_ltsivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8238; /* while_ltdivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8248; /* while_ltsivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8258; /* while_ltdivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8268; /* while_ltsivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8278; /* while_ltdivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && 
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return 8288; /* while_ltsivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8298; /* while_ltdivnx2bi */

        default:
          return -1;
        }

    case 128:
      switch (pattern751 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8229; /* while_gesivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8239; /* while_gedivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8249; /* while_gesivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8259; /* while_gedivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8269; /* while_gesivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8279; /* while_gedivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8289; /* while_gesivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8299; /* while_gedivnx2bi */

        default:
          return -1;
        }

    case 129:
      switch (pattern751 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8230; /* while_gtsivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8240; /* while_gtdivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8250; /* while_gtsivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8260; /* while_gtdivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8270; /* while_gtsivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8280; /* while_gtdivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8290; /* while_gtsivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8300; /* while_gtdivnx2bi */

        default:
          return -1;
        }

    case 130:
      switch (pattern751 (x3))
        {
        case 0:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8231; /* while_ugtsivnx16bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8241; /* while_ugtdivnx16bi */

        case 1:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8251; /* while_ugtsivnx8bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8261; /* while_ugtdivnx8bi */

        case 2:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8271; /* while_ugtsivnx4bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8281; /* while_ugtdivnx4bi */

        case 3:
          if (aarch64_reg_or_zero (operands[1], E_SImode)
              && aarch64_reg_or_zero (operands[2], E_SImode)
              && (
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return 8291; /* while_ugtsivnx2bi */
          if (!aarch64_reg_or_zero (operands[1], E_DImode)
              || !aarch64_reg_or_zero (operands[2], E_DImode)
              || !(
#line 7999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)))
            return -1;
          return 8301; /* while_ugtdivnx2bi */

        default:
          return -1;
        }

    case 131:
      return recog_513 (x1, insn, pnum_clobbers);

    case 136:
      return recog_512 (x1, insn, pnum_clobbers);

    case 137:
      return recog_511 (x1, insn, pnum_clobbers);

    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;
  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 (pattern658 (E_SImode))
        {
        case 0:
          if (!
#line 1775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 82; /* load_pair_sw_sisi */

        case 1:
          if (!
#line 1775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 84; /* load_pair_sw_sisf */

        default:
          return -1;
        }

    case E_SFmode:
      switch (pattern658 (E_SFmode))
        {
        case 0:
          if (!
#line 1775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 83; /* load_pair_sw_sfsi */

        case 1:
          if (!
#line 1775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 85; /* load_pair_sw_sfsf */

        default:
          return -1;
        }

    case E_DImode:
      switch (pattern659 (E_DImode))
        {
        case 0:
          if (!
#line 1792 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 86; /* load_pair_dw_didi */

        case 1:
          if (!
#line 1792 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 87; /* load_pair_dw_didf */

        case 2:
          if (!
#line 1792 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 88; /* load_pair_dw_didd */

        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 1792 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 89; /* load_pair_dw_dfdi */

        case E_DFmode:
          if (!register_operand (operands[2], E_DFmode)
              || !memory_operand (operands[3], E_DFmode))
            return -1;
          if (
#line 1792 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 90; /* load_pair_dw_dfdf */
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1328; /* load_pairdfdf */

        case E_DDmode:
          if (!register_operand (operands[2], E_DDmode)
              || !memory_operand (operands[3], E_DDmode)
              || !
#line 1792 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 91; /* load_pair_dw_dfdd */

        case E_V8QImode:
          if (!register_operand (operands[2], E_V8QImode)
              || !memory_operand (operands[3], E_V8QImode)
              || !
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1298; /* load_pairdfv8qi */

        case E_V4HImode:
          if (!register_operand (operands[2], E_V4HImode)
              || !memory_operand (operands[3], E_V4HImode)
              || !
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1304; /* load_pairdfv4hi */

        case E_V4HFmode:
          if (!register_operand (operands[2], E_V4HFmode)
              || !memory_operand (operands[3], E_V4HFmode)
              || !
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1310; /* load_pairdfv4hf */

        case E_V2SImode:
          if (!register_operand (operands[2], E_V2SImode)
              || !memory_operand (operands[3], E_V2SImode)
              || !
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1316; /* load_pairdfv2si */

        case E_V2SFmode:
          if (!register_operand (operands[2], E_V2SFmode)
              || !memory_operand (operands[3], E_V2SFmode)
              || !
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (DFmode)))))
            return -1;
          return 1322; /* load_pairdfv2sf */

        default:
          return -1;
        }

    case E_DDmode:
      switch (pattern659 (E_DDmode))
        {
        case 0:
          if (!
#line 1792 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		 plus_constant (Pmode,
				XEXP (operands[1], 0),
				GET_MODE_SIZE (DDmode)))))
            return -1;
          return 92; /* load_pair_dw_dddi */

        case 1:
          if (!
#line 1792 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		 plus_constant (Pmode,
				XEXP (operands[1], 0),
				GET_MODE_SIZE (DDmode)))))
            return -1;
          return 93; /* load_pair_dw_dddf */

        case 2:
          if (!
#line 1792 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[3], 0),
		 plus_constant (Pmode,
				XEXP (operands[1], 0),
				GET_MODE_SIZE (DDmode)))))
            return -1;
          return 94; /* load_pair_dw_dddd */

        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 1808 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 95; /* load_pair_dw_tftf */

    case E_V8QImode:
      switch (pattern660 (E_V8QImode))
        {
        case 0:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1293; /* load_pairv8qiv8qi */

        case 1:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1299; /* load_pairv8qiv4hi */

        case 2:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1305; /* load_pairv8qiv4hf */

        case 3:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1311; /* load_pairv8qiv2si */

        case 4:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1317; /* load_pairv8qiv2sf */

        case 5:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V8QImode)))))
            return -1;
          return 1323; /* load_pairv8qidf */

        default:
          return -1;
        }

    case E_V4HImode:
      switch (pattern660 (E_V4HImode))
        {
        case 0:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1294; /* load_pairv4hiv8qi */

        case 1:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1300; /* load_pairv4hiv4hi */

        case 2:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1306; /* load_pairv4hiv4hf */

        case 3:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1312; /* load_pairv4hiv2si */

        case 4:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1318; /* load_pairv4hiv2sf */

        case 5:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HImode)))))
            return -1;
          return 1324; /* load_pairv4hidf */

        default:
          return -1;
        }

    case E_V4HFmode:
      switch (pattern660 (E_V4HFmode))
        {
        case 0:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1295; /* load_pairv4hfv8qi */

        case 1:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1301; /* load_pairv4hfv4hi */

        case 2:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1307; /* load_pairv4hfv4hf */

        case 3:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1313; /* load_pairv4hfv2si */

        case 4:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1319; /* load_pairv4hfv2sf */

        case 5:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V4HFmode)))))
            return -1;
          return 1325; /* load_pairv4hfdf */

        default:
          return -1;
        }

    case E_V2SImode:
      switch (pattern660 (E_V2SImode))
        {
        case 0:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1296; /* load_pairv2siv8qi */

        case 1:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1302; /* load_pairv2siv4hi */

        case 2:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1308; /* load_pairv2siv4hf */

        case 3:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1314; /* load_pairv2siv2si */

        case 4:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1320; /* load_pairv2siv2sf */

        case 5:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SImode)))))
            return -1;
          return 1326; /* load_pairv2sidf */

        default:
          return -1;
        }

    case E_V2SFmode:
      switch (pattern660 (E_V2SFmode))
        {
        case 0:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1297; /* load_pairv2sfv8qi */

        case 1:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1303; /* load_pairv2sfv4hi */

        case 2:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1309; /* load_pairv2sfv4hf */

        case 3:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1315; /* load_pairv2sfv2si */

        case 4:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1321; /* load_pairv2sfv2sf */

        case 5:
          if (!
#line 209 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[3], 0),
		   plus_constant (Pmode,
				  XEXP (operands[1], 0),
				  GET_MODE_SIZE (V2SFmode)))))
            return -1;
          return 1327; /* load_pairv2sfdf */

        default:
          return -1;
        }

    case E_V16QImode:
      switch (pattern661 (E_V16QImode))
        {
        case 0:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1365; /* load_pairv16qiv16qi */

        case 1:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1366; /* load_pairv16qiv8hi */

        case 2:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1367; /* load_pairv16qiv4si */

        case 3:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1368; /* load_pairv16qiv2di */

        case 4:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1369; /* load_pairv16qiv8hf */

        case 5:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1370; /* load_pairv16qiv8bf */

        case 6:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1371; /* load_pairv16qiv4sf */

        case 7:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V16QImode)))))
            return -1;
          return 1372; /* load_pairv16qiv2df */

        default:
          return -1;
        }

    case E_V8HImode:
      switch (pattern661 (E_V8HImode))
        {
        case 0:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1373; /* load_pairv8hiv16qi */

        case 1:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1374; /* load_pairv8hiv8hi */

        case 2:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1375; /* load_pairv8hiv4si */

        case 3:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1376; /* load_pairv8hiv2di */

        case 4:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1377; /* load_pairv8hiv8hf */

        case 5:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1378; /* load_pairv8hiv8bf */

        case 6:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1379; /* load_pairv8hiv4sf */

        case 7:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HImode)))))
            return -1;
          return 1380; /* load_pairv8hiv2df */

        default:
          return -1;
        }

    case E_V4SImode:
      switch (pattern661 (E_V4SImode))
        {
        case 0:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1381; /* load_pairv4siv16qi */

        case 1:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1382; /* load_pairv4siv8hi */

        case 2:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1383; /* load_pairv4siv4si */

        case 3:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1384; /* load_pairv4siv2di */

        case 4:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1385; /* load_pairv4siv8hf */

        case 5:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1386; /* load_pairv4siv8bf */

        case 6:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1387; /* load_pairv4siv4sf */

        case 7:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SImode)))))
            return -1;
          return 1388; /* load_pairv4siv2df */

        default:
          return -1;
        }

    case E_V2DImode:
      switch (pattern661 (E_V2DImode))
        {
        case 0:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1389; /* load_pairv2div16qi */

        case 1:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1390; /* load_pairv2div8hi */

        case 2:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1391; /* load_pairv2div4si */

        case 3:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1392; /* load_pairv2div2di */

        case 4:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1393; /* load_pairv2div8hf */

        case 5:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1394; /* load_pairv2div8bf */

        case 6:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1395; /* load_pairv2div4sf */

        case 7:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DImode)))))
            return -1;
          return 1396; /* load_pairv2div2df */

        default:
          return -1;
        }

    case E_V8HFmode:
      switch (pattern661 (E_V8HFmode))
        {
        case 0:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1397; /* load_pairv8hfv16qi */

        case 1:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1398; /* load_pairv8hfv8hi */

        case 2:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1399; /* load_pairv8hfv4si */

        case 3:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1400; /* load_pairv8hfv2di */

        case 4:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1401; /* load_pairv8hfv8hf */

        case 5:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1402; /* load_pairv8hfv8bf */

        case 6:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1403; /* load_pairv8hfv4sf */

        case 7:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8HFmode)))))
            return -1;
          return 1404; /* load_pairv8hfv2df */

        default:
          return -1;
        }

    case E_V4SFmode:
      switch (pattern661 (E_V4SFmode))
        {
        case 0:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1405; /* load_pairv4sfv16qi */

        case 1:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1406; /* load_pairv4sfv8hi */

        case 2:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1407; /* load_pairv4sfv4si */

        case 3:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1408; /* load_pairv4sfv2di */

        case 4:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1409; /* load_pairv4sfv8hf */

        case 5:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1410; /* load_pairv4sfv8bf */

        case 6:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1411; /* load_pairv4sfv4sf */

        case 7:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V4SFmode)))))
            return -1;
          return 1412; /* load_pairv4sfv2df */

        default:
          return -1;
        }

    case E_V2DFmode:
      switch (pattern661 (E_V2DFmode))
        {
        case 0:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1413; /* load_pairv2dfv16qi */

        case 1:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1414; /* load_pairv2dfv8hi */

        case 2:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1415; /* load_pairv2dfv4si */

        case 3:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1416; /* load_pairv2dfv2di */

        case 4:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1417; /* load_pairv2dfv8hf */

        case 5:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1418; /* load_pairv2dfv8bf */

        case 6:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1419; /* load_pairv2dfv4sf */

        case 7:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V2DFmode)))))
            return -1;
          return 1420; /* load_pairv2dfv2df */

        default:
          return -1;
        }

    case E_V8BFmode:
      switch (pattern661 (E_V8BFmode))
        {
        case 0:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1421; /* load_pairv8bfv16qi */

        case 1:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1422; /* load_pairv8bfv8hi */

        case 2:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1423; /* load_pairv8bfv4si */

        case 3:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1424; /* load_pairv8bfv2di */

        case 4:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1425; /* load_pairv8bfv8hf */

        case 5:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1426; /* load_pairv8bfv8bf */

        case 6:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1427; /* load_pairv8bfv4sf */

        case 7:
          if (!
#line 237 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
    && rtx_equal_p (XEXP (operands[3], 0),
		    plus_constant (Pmode,
			       XEXP (operands[1], 0),
			       GET_MODE_SIZE (V8BFmode)))))
            return -1;
          return 1428; /* load_pairv8bfv2df */

        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;
  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 (pattern703 (E_SImode))
            {
            case 0:
              if (!
#line 1825 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 96; /* store_pair_sw_sisi */

            case 1:
              if (!
#line 1825 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 98; /* store_pair_sw_sisf */

            default:
              return -1;
            }

        case E_SFmode:
          switch (pattern703 (E_SFmode))
            {
            case 0:
              if (!
#line 1825 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 97; /* store_pair_sw_sfsi */

            case 1:
              if (!
#line 1825 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 99; /* store_pair_sw_sfsf */

            default:
              return -1;
            }

        case E_DImode:
          switch (pattern705 (E_DImode))
            {
            case 0:
              if (!
#line 1842 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 100; /* store_pair_dw_didi */

            case 1:
              if (!
#line 1842 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 101; /* store_pair_dw_didf */

            case 2:
              if (!
#line 1842 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 102; /* store_pair_dw_didd */

            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 (pattern704 ())
                {
                case 0:
                  if (
#line 1842 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 103; /* store_pair_dw_dfdi */
                  break;

                case 1:
                  if (
#line 1842 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 104; /* store_pair_dw_dfdf */
                  break;

                case 2:
                  if (
#line 1842 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 105; /* store_pair_dw_dfdd */
                  break;

                default:
                  break;
                }
            }
          if (!register_operand (operands[1], E_DFmode))
            return -1;
          switch (pattern706 ())
            {
            case 0:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1334; /* vec_store_pairdfv8qi */

            case 1:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1340; /* vec_store_pairdfv4hi */

            case 2:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1346; /* vec_store_pairdfv4hf */

            case 3:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1352; /* vec_store_pairdfv2si */

            case 4:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1358; /* vec_store_pairdfv2sf */

            case 5:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (DFmode)))))
                return -1;
              return 1364; /* vec_store_pairdfdf */

            default:
              return -1;
            }

        case E_DDmode:
          switch (pattern705 (E_DDmode))
            {
            case 0:
              if (!
#line 1842 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (DDmode)))))
                return -1;
              return 106; /* store_pair_dw_dddi */

            case 1:
              if (!
#line 1842 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (DDmode)))))
                return -1;
              return 107; /* store_pair_dw_dddf */

            case 2:
              if (!
#line 1842 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(rtx_equal_p (XEXP (operands[2], 0),
		 plus_constant (Pmode,
				XEXP (operands[0], 0),
				GET_MODE_SIZE (DDmode)))))
                return -1;
              return 108; /* store_pair_dw_dddd */

            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 1858 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 109; /* store_pair_dw_tftf */

        case E_V8QImode:
          switch (pattern707 (E_V8QImode))
            {
            case 0:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1329; /* vec_store_pairv8qiv8qi */

            case 1:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1335; /* vec_store_pairv8qiv4hi */

            case 2:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1341; /* vec_store_pairv8qiv4hf */

            case 3:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1347; /* vec_store_pairv8qiv2si */

            case 4:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1353; /* vec_store_pairv8qiv2sf */

            case 5:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8QImode)))))
                return -1;
              return 1359; /* vec_store_pairv8qidf */

            default:
              return -1;
            }

        case E_V4HImode:
          switch (pattern707 (E_V4HImode))
            {
            case 0:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1330; /* vec_store_pairv4hiv8qi */

            case 1:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1336; /* vec_store_pairv4hiv4hi */

            case 2:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1342; /* vec_store_pairv4hiv4hf */

            case 3:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1348; /* vec_store_pairv4hiv2si */

            case 4:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1354; /* vec_store_pairv4hiv2sf */

            case 5:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HImode)))))
                return -1;
              return 1360; /* vec_store_pairv4hidf */

            default:
              return -1;
            }

        case E_V4HFmode:
          switch (pattern707 (E_V4HFmode))
            {
            case 0:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1331; /* vec_store_pairv4hfv8qi */

            case 1:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1337; /* vec_store_pairv4hfv4hi */

            case 2:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1343; /* vec_store_pairv4hfv4hf */

            case 3:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1349; /* vec_store_pairv4hfv2si */

            case 4:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1355; /* vec_store_pairv4hfv2sf */

            case 5:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4HFmode)))))
                return -1;
              return 1361; /* vec_store_pairv4hfdf */

            default:
              return -1;
            }

        case E_V2SImode:
          switch (pattern707 (E_V2SImode))
            {
            case 0:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1332; /* vec_store_pairv2siv8qi */

            case 1:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1338; /* vec_store_pairv2siv4hi */

            case 2:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1344; /* vec_store_pairv2siv4hf */

            case 3:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1350; /* vec_store_pairv2siv2si */

            case 4:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1356; /* vec_store_pairv2siv2sf */

            case 5:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SImode)))))
                return -1;
              return 1362; /* vec_store_pairv2sidf */

            default:
              return -1;
            }

        case E_V2SFmode:
          switch (pattern707 (E_V2SFmode))
            {
            case 0:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1333; /* vec_store_pairv2sfv8qi */

            case 1:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1339; /* vec_store_pairv2sfv4hi */

            case 2:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1345; /* vec_store_pairv2sfv4hf */

            case 3:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1351; /* vec_store_pairv2sfv2si */

            case 4:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1357; /* vec_store_pairv2sfv2sf */

            case 5:
              if (!
#line 223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2SFmode)))))
                return -1;
              return 1363; /* vec_store_pairv2sfdf */

            default:
              return -1;
            }

        case E_V16QImode:
          switch (pattern708 (E_V16QImode))
            {
            case 0:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1429; /* vec_store_pairv16qiv16qi */

            case 1:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1430; /* vec_store_pairv16qiv8hi */

            case 2:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1431; /* vec_store_pairv16qiv4si */

            case 3:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1432; /* vec_store_pairv16qiv2di */

            case 4:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1433; /* vec_store_pairv16qiv8hf */

            case 5:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1434; /* vec_store_pairv16qiv8bf */

            case 6:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1435; /* vec_store_pairv16qiv4sf */

            case 7:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V16QImode)))))
                return -1;
              return 1436; /* vec_store_pairv16qiv2df */

            default:
              return -1;
            }

        case E_V8HImode:
          switch (pattern708 (E_V8HImode))
            {
            case 0:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1437; /* vec_store_pairv8hiv16qi */

            case 1:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1438; /* vec_store_pairv8hiv8hi */

            case 2:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1439; /* vec_store_pairv8hiv4si */

            case 3:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1440; /* vec_store_pairv8hiv2di */

            case 4:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1441; /* vec_store_pairv8hiv8hf */

            case 5:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1442; /* vec_store_pairv8hiv8bf */

            case 6:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1443; /* vec_store_pairv8hiv4sf */

            case 7:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HImode)))))
                return -1;
              return 1444; /* vec_store_pairv8hiv2df */

            default:
              return -1;
            }

        case E_V4SImode:
          switch (pattern708 (E_V4SImode))
            {
            case 0:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1445; /* vec_store_pairv4siv16qi */

            case 1:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1446; /* vec_store_pairv4siv8hi */

            case 2:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1447; /* vec_store_pairv4siv4si */

            case 3:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1448; /* vec_store_pairv4siv2di */

            case 4:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1449; /* vec_store_pairv4siv8hf */

            case 5:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1450; /* vec_store_pairv4siv8bf */

            case 6:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1451; /* vec_store_pairv4siv4sf */

            case 7:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SImode)))))
                return -1;
              return 1452; /* vec_store_pairv4siv2df */

            default:
              return -1;
            }

        case E_V2DImode:
          switch (pattern708 (E_V2DImode))
            {
            case 0:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1453; /* vec_store_pairv2div16qi */

            case 1:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1454; /* vec_store_pairv2div8hi */

            case 2:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1455; /* vec_store_pairv2div4si */

            case 3:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1456; /* vec_store_pairv2div2di */

            case 4:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1457; /* vec_store_pairv2div8hf */

            case 5:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1458; /* vec_store_pairv2div8bf */

            case 6:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1459; /* vec_store_pairv2div4sf */

            case 7:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DImode)))))
                return -1;
              return 1460; /* vec_store_pairv2div2df */

            default:
              return -1;
            }

        case E_V8HFmode:
          switch (pattern708 (E_V8HFmode))
            {
            case 0:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1461; /* vec_store_pairv8hfv16qi */

            case 1:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1462; /* vec_store_pairv8hfv8hi */

            case 2:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1463; /* vec_store_pairv8hfv4si */

            case 3:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1464; /* vec_store_pairv8hfv2di */

            case 4:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1465; /* vec_store_pairv8hfv8hf */

            case 5:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1466; /* vec_store_pairv8hfv8bf */

            case 6:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1467; /* vec_store_pairv8hfv4sf */

            case 7:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8HFmode)))))
                return -1;
              return 1468; /* vec_store_pairv8hfv2df */

            default:
              return -1;
            }

        case E_V4SFmode:
          switch (pattern708 (E_V4SFmode))
            {
            case 0:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1469; /* vec_store_pairv4sfv16qi */

            case 1:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1470; /* vec_store_pairv4sfv8hi */

            case 2:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1471; /* vec_store_pairv4sfv4si */

            case 3:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1472; /* vec_store_pairv4sfv2di */

            case 4:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1473; /* vec_store_pairv4sfv8hf */

            case 5:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1474; /* vec_store_pairv4sfv8bf */

            case 6:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1475; /* vec_store_pairv4sfv4sf */

            case 7:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V4SFmode)))))
                return -1;
              return 1476; /* vec_store_pairv4sfv2df */

            default:
              return -1;
            }

        case E_V2DFmode:
          switch (pattern708 (E_V2DFmode))
            {
            case 0:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1477; /* vec_store_pairv2dfv16qi */

            case 1:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1478; /* vec_store_pairv2dfv8hi */

            case 2:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1479; /* vec_store_pairv2dfv4si */

            case 3:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1480; /* vec_store_pairv2dfv2di */

            case 4:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1481; /* vec_store_pairv2dfv8hf */

            case 5:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1482; /* vec_store_pairv2dfv8bf */

            case 6:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1483; /* vec_store_pairv2dfv4sf */

            case 7:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V2DFmode)))))
                return -1;
              return 1484; /* vec_store_pairv2dfv2df */

            default:
              return -1;
            }

        case E_V8BFmode:
          switch (pattern708 (E_V8BFmode))
            {
            case 0:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1485; /* vec_store_pairv8bfv16qi */

            case 1:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1486; /* vec_store_pairv8bfv8hi */

            case 2:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1487; /* vec_store_pairv8bfv4si */

            case 3:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1488; /* vec_store_pairv8bfv2di */

            case 4:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1489; /* vec_store_pairv8bfv8hf */

            case 5:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1490; /* vec_store_pairv8bfv8bf */

            case 6:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1491; /* vec_store_pairv8bfv4sf */

            case 7:
              if (!
#line 251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && rtx_equal_p (XEXP (operands[2], 0),
		   plus_constant (Pmode,
				  XEXP (operands[0], 0),
				  GET_MODE_SIZE (V8BFmode)))))
                return -1;
              return 1492; /* 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 (pattern553 (x7, E_VNx16BImode, 153, 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
        return -1;
      return 4755; /* aarch64_wrffr */

    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;
  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_456 (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 (pattern817 (x1))
                    {
                    case 0:
                      return 182; /* *subs_shift_imm_si */

                    case 1:
                      return 185; /* *subs_shift_imm_di */

                    default:
                      return -1;
                    }

                case SIGN_EXTEND:
                  switch (pattern925 (x1, SIGN_EXTEND))
                    {
                    case 0:
                      return 224; /* *subs_extendqi_shift_si */

                    case 1:
                      return 228; /* *subs_extendhi_shift_si */

                    case 2:
                      return 232; /* *subs_extendsi_shift_si */

                    case 3:
                      return 226; /* *subs_extendqi_shift_di */

                    case 4:
                      return 230; /* *subs_extendhi_shift_di */

                    case 5:
                      return 234; /* *subs_extendsi_shift_di */

                    default:
                      return -1;
                    }

                case ZERO_EXTEND:
                  switch (pattern925 (x1, ZERO_EXTEND))
                    {
                    case 0:
                      return 225; /* *subs_zero_extendqi_shift_si */

                    case 1:
                      return 229; /* *subs_zero_extendhi_shift_si */

                    case 2:
                      return 233; /* *subs_zero_extendsi_shift_si */

                    case 3:
                      return 227; /* *subs_zero_extendqi_shift_di */

                    case 4:
                      return 231; /* *subs_zero_extendhi_shift_di */

                    case 5:
                      return 235; /* *subs_zero_extendsi_shift_di */

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case ASHIFTRT:
              switch (pattern818 (x1, ASHIFTRT))
                {
                case 0:
                  return 183; /* *subs_shift_imm_si */

                case 1:
                  return 186; /* *subs_shift_imm_di */

                default:
                  return -1;
                }

            case LSHIFTRT:
              switch (pattern818 (x1, LSHIFTRT))
                {
                case 0:
                  return 184; /* *subs_shift_imm_si */

                case 1:
                  return 187; /* *subs_shift_imm_di */

                default:
                  return -1;
                }

            case SIGN_EXTEND:
              switch (pattern820 (x1, SIGN_EXTEND))
                {
                case 0:
                  return 200; /* *subs_extendqi_si */

                case 1:
                  return 204; /* *subs_extendhi_si */

                case 2:
                  return 208; /* *subs_extendsi_si */

                case 3:
                  return 202; /* *subs_extendqi_di */

                case 4:
                  return 206; /* *subs_extendhi_di */

                case 5:
                  return 210; /* *subs_extendsi_di */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              switch (pattern820 (x1, ZERO_EXTEND))
                {
                case 0:
                  return 201; /* *subs_zero_extendqi_si */

                case 1:
                  return 205; /* *subs_zero_extendhi_si */

                case 2:
                  return 209; /* *subs_zero_extendsi_si */

                case 3:
                  return 203; /* *subs_zero_extendqi_di */

                case 4:
                  return 207; /* *subs_zero_extendhi_di */

                case 5:
                  return 211; /* *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 (pattern914 (x11, E_SImode) != 0)
                        return -1;
                      return 316; /* *subsi3_compare0 */

                    case E_DImode:
                      if (pattern914 (x11, E_DImode) != 0)
                        return -1;
                      return 317; /* *subdi3_compare0 */

                    default:
                      return -1;
                    }

                case ZERO_EXTEND:
                  if (pattern850 (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 318; /* *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 (pattern940 (x1, E_SImode, E_DImode) != 0)
                    return -1;
                  return 379; /* *subsi3_carryinV_z2 */

                case E_TImode:
                  if (pattern940 (x1, E_DImode, E_TImode) != 0)
                    return -1;
                  return 380; /* *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 (pattern968 (x1, E_SImode, E_DImode) != 0)
                    return -1;
                  return 381; /* *subsi3_carryinV */

                case E_TImode:
                  if (pattern968 (x1, E_DImode, E_TImode) != 0)
                    return -1;
                  return 382; /* *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 (pattern952 (x1, E_SImode, E_DImode) != 0)
                    return -1;
                  return 304; /* subvsi_insn */

                case E_TImode:
                  if (pattern952 (x1, E_DImode, E_TImode) != 0)
                    return -1;
                  return 305; /* 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 (pattern941 (x1, E_SImode, E_DImode) != 0)
                    return -1;
                  return 306; /* subvsi_imm */

                case E_TImode:
                  if (pattern941 (x1, E_DImode, E_TImode) != 0)
                    return -1;
                  return 307; /* 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 (pattern904 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 308; /* negvsi_insn */

            case E_TImode:
              if (pattern904 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 309; /* negvdi_insn */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case NEG:
      return recog_457 (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_454 (x1, insn, pnum_clobbers);
          if (res >= 0)
            return res;
          break;

        case REG:
        case SUBREG:
          res = recog_455 (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)
          && pattern822 (x11, E_SImode) == 0)
        return 321; /* subsi3_compare1 */
      if (!aarch64_reg_or_zero (operands[2], E_DImode)
          || pattern822 (x11, E_DImode) != 0)
        return -1;
      return 322; /* 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 (pattern889 (x11, E_SImode, E_DImode) != 0)
                return -1;
              return 375; /* *usubsi3_carryinC_z2 */

            case E_TImode:
              if (pattern889 (x11, E_DImode, E_TImode) != 0)
                return -1;
              return 376; /* *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 (pattern934 (x1, E_SImode, E_DImode) != 0)
                return -1;
              return 377; /* *usubsi3_carryinC */

            case E_TImode:
              if (pattern934 (x1, E_DImode, E_TImode) != 0)
                return -1;
              return 378; /* *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_Zmode
              || GET_MODE (x6) != E_CC_Zmode)
            return -1;
          x14 = XEXP (x11, 0);
          if (!rtx_equal_p (x14, operands[1]))
            return -1;
          switch (GET_MODE (x7))
            {
            case E_SImode:
              switch (pattern871 (x11, E_SImode))
                {
                case 0:
                  return 733; /* *andssi_compare0 */

                case 1:
                  return 734; /* *andssi_compare0 */

                default:
                  return -1;
                }

            case E_DImode:
              switch (pattern871 (x11, E_DImode))
                {
                case 0:
                  return 735; /* *andsdi_compare0 */

                case 1:
                  return 736; /* *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_NZVmode
          || GET_MODE (x6) != E_CC_NZVmode)
        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 (pattern905 (x11, E_SImode) != 0)
                    return -1;
                  return 546; /* *andsi3_compare0 */

                case E_DImode:
                  if (pattern905 (x11, E_DImode) != 0)
                    return -1;
                  return 547; /* *anddi3_compare0 */

                default:
                  return -1;
                }

            case ZERO_EXTEND:
              if (pattern850 (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 548; /* *andsi3_compare0_uxtw */

            default:
              return -1;
            }

        case ASHIFT:
          switch (pattern744 (x1, ASHIFT))
            {
            case 0:
              return 549; /* *and_ashlsi3_compare0 */

            case 1:
              return 554; /* *and_ashldi3_compare0 */

            case 2:
              return 559; /* *and_ashlsi3_compare0_uxtw */

            default:
              return -1;
            }

        case ASHIFTRT:
          switch (pattern744 (x1, ASHIFTRT))
            {
            case 0:
              return 550; /* *and_ashrsi3_compare0 */

            case 1:
              return 555; /* *and_ashrdi3_compare0 */

            case 2:
              return 560; /* *and_ashrsi3_compare0_uxtw */

            default:
              return -1;
            }

        case LSHIFTRT:
          switch (pattern744 (x1, LSHIFTRT))
            {
            case 0:
              return 551; /* *and_lshrsi3_compare0 */

            case 1:
              return 556; /* *and_lshrdi3_compare0 */

            case 2:
              return 561; /* *and_lshrsi3_compare0_uxtw */

            default:
              return -1;
            }

        case ROTATERT:
          switch (pattern744 (x1, ROTATERT))
            {
            case 0:
              return 552; /* *and_rotrsi3_compare0 */

            case 1:
              return 557; /* *and_rotrdi3_compare0 */

            case 2:
              return 562; /* *and_rotrsi3_compare0_uxtw */

            default:
              return -1;
            }

        case ROTATE:
          switch (pattern744 (x1, ROTATE))
            {
            case 0:
              return 553; /* *and_rotlsi3_compare0 */

            case 1:
              return 558; /* *and_rotldi3_compare0 */

            case 2:
              return 563; /* *and_rotlsi3_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 (pattern926 (x1, E_SImode) != 0)
                        return -1;
                      return 631; /* *and_one_cmplsi3_compare0 */

                    case E_DImode:
                      if (pattern926 (x1, E_DImode) != 0)
                        return -1;
                      return 632; /* *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 633; /* *and_one_cmplsi3_compare0_uxtw */

                default:
                  return -1;
                }

            case ASHIFT:
              switch (pattern796 (x1, ASHIFT))
                {
                case 0:
                  return 696; /* *and_one_cmpl_ashlsi3_compare0 */

                case 1:
                  return 701; /* *and_one_cmpl_ashldi3_compare0 */

                case 2:
                  return 706; /* *and_one_cmpl_ashlsi3_compare0_uxtw */

                default:
                  return -1;
                }

            case ASHIFTRT:
              switch (pattern796 (x1, ASHIFTRT))
                {
                case 0:
                  return 697; /* *and_one_cmpl_ashrsi3_compare0 */

                case 1:
                  return 702; /* *and_one_cmpl_ashrdi3_compare0 */

                case 2:
                  return 707; /* *and_one_cmpl_ashrsi3_compare0_uxtw */

                default:
                  return -1;
                }

            case LSHIFTRT:
              switch (pattern796 (x1, LSHIFTRT))
                {
                case 0:
                  return 698; /* *and_one_cmpl_lshrsi3_compare0 */

                case 1:
                  return 703; /* *and_one_cmpl_lshrdi3_compare0 */

                case 2:
                  return 708; /* *and_one_cmpl_lshrsi3_compare0_uxtw */

                default:
                  return -1;
                }

            case ROTATERT:
              switch (pattern796 (x1, ROTATERT))
                {
                case 0:
                  return 699; /* *and_one_cmpl_rotrsi3_compare0 */

                case 1:
                  return 704; /* *and_one_cmpl_rotrdi3_compare0 */

                case 2:
                  return 709; /* *and_one_cmpl_rotrsi3_compare0_uxtw */

                default:
                  return -1;
                }

            case ROTATE:
              switch (pattern796 (x1, ROTATE))
                {
                case 0:
                  return 700; /* *and_one_cmpl_rotlsi3_compare0 */

                case 1:
                  return 705; /* *and_one_cmpl_rotldi3_compare0 */

                case 2:
                  return 710; /* *and_one_cmpl_rotlsi3_compare0_uxtw */

                default:
                  return -1;
                }

            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, 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 (pattern360 (x1, pnum_clobbers) != 0)
        return -1;
      switch (pattern178 (x1))
        {
        case 0:
          *pnum_clobbers = 2;
          return 4526; /* aarch64_atomic_and_fetchqi */

        case 1:
          *pnum_clobbers = 2;
          return 4531; /* aarch64_atomic_and_fetchhi */

        case 2:
          *pnum_clobbers = 2;
          return 4536; /* aarch64_atomic_and_fetchsi */

        case 3:
          *pnum_clobbers = 2;
          return 4541; /* aarch64_atomic_and_fetchdi */

        default:
          return -1;
        }

    case UNSPEC:
      if (XVECLEN (x5, 0) != 3
          || XINT (x5, 1) != 120)
        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 (pattern627 (x1))
        {
        case 0:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8035; /* *cmpltvnx16qi_and */

        case 1:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8045; /* *cmpltvnx8qi_and */

        case 2:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8075; /* *cmpltvnx8hi_and */

        case 3:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8055; /* *cmpltvnx4qi_and */

        case 4:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8085; /* *cmpltvnx4hi_and */

        case 5:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8105; /* *cmpltvnx4si_and */

        case 6:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8065; /* *cmpltvnx2qi_and */

        case 7:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8095; /* *cmpltvnx2hi_and */

        case 8:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8115; /* *cmpltvnx2si_and */

        case 9:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8125; /* *cmpltvnx2di_and */

        case 10:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8036; /* *cmplevnx16qi_and */

        case 11:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8046; /* *cmplevnx8qi_and */

        case 12:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8076; /* *cmplevnx8hi_and */

        case 13:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8056; /* *cmplevnx4qi_and */

        case 14:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8086; /* *cmplevnx4hi_and */

        case 15:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8106; /* *cmplevnx4si_and */

        case 16:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8066; /* *cmplevnx2qi_and */

        case 17:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8096; /* *cmplevnx2hi_and */

        case 18:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8116; /* *cmplevnx2si_and */

        case 19:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8126; /* *cmplevnx2di_and */

        case 20:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8037; /* *cmpeqvnx16qi_and */

        case 21:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8047; /* *cmpeqvnx8qi_and */

        case 22:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8077; /* *cmpeqvnx8hi_and */

        case 23:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8057; /* *cmpeqvnx4qi_and */

        case 24:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8087; /* *cmpeqvnx4hi_and */

        case 25:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8107; /* *cmpeqvnx4si_and */

        case 26:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8067; /* *cmpeqvnx2qi_and */

        case 27:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8097; /* *cmpeqvnx2hi_and */

        case 28:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8117; /* *cmpeqvnx2si_and */

        case 29:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8127; /* *cmpeqvnx2di_and */

        case 30:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8038; /* *cmpnevnx16qi_and */

        case 31:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8048; /* *cmpnevnx8qi_and */

        case 32:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8078; /* *cmpnevnx8hi_and */

        case 33:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8058; /* *cmpnevnx4qi_and */

        case 34:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8088; /* *cmpnevnx4hi_and */

        case 35:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8108; /* *cmpnevnx4si_and */

        case 36:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8068; /* *cmpnevnx2qi_and */

        case 37:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8098; /* *cmpnevnx2hi_and */

        case 38:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8118; /* *cmpnevnx2si_and */

        case 39:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8128; /* *cmpnevnx2di_and */

        case 40:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8039; /* *cmpgevnx16qi_and */

        case 41:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8049; /* *cmpgevnx8qi_and */

        case 42:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8079; /* *cmpgevnx8hi_and */

        case 43:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8059; /* *cmpgevnx4qi_and */

        case 44:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8089; /* *cmpgevnx4hi_and */

        case 45:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8109; /* *cmpgevnx4si_and */

        case 46:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8069; /* *cmpgevnx2qi_and */

        case 47:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8099; /* *cmpgevnx2hi_and */

        case 48:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8119; /* *cmpgevnx2si_and */

        case 49:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8129; /* *cmpgevnx2di_and */

        case 50:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8040; /* *cmpgtvnx16qi_and */

        case 51:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8050; /* *cmpgtvnx8qi_and */

        case 52:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8080; /* *cmpgtvnx8hi_and */

        case 53:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8060; /* *cmpgtvnx4qi_and */

        case 54:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8090; /* *cmpgtvnx4hi_and */

        case 55:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8110; /* *cmpgtvnx4si_and */

        case 56:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8070; /* *cmpgtvnx2qi_and */

        case 57:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8100; /* *cmpgtvnx2hi_and */

        case 58:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8120; /* *cmpgtvnx2si_and */

        case 59:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8130; /* *cmpgtvnx2di_and */

        case 60:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8041; /* *cmplovnx16qi_and */

        case 61:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8051; /* *cmplovnx8qi_and */

        case 62:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8081; /* *cmplovnx8hi_and */

        case 63:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8061; /* *cmplovnx4qi_and */

        case 64:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8091; /* *cmplovnx4hi_and */

        case 65:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8111; /* *cmplovnx4si_and */

        case 66:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8071; /* *cmplovnx2qi_and */

        case 67:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8101; /* *cmplovnx2hi_and */

        case 68:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8121; /* *cmplovnx2si_and */

        case 69:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8131; /* *cmplovnx2di_and */

        case 70:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8042; /* *cmplsvnx16qi_and */

        case 71:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8052; /* *cmplsvnx8qi_and */

        case 72:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8082; /* *cmplsvnx8hi_and */

        case 73:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8062; /* *cmplsvnx4qi_and */

        case 74:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8092; /* *cmplsvnx4hi_and */

        case 75:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8112; /* *cmplsvnx4si_and */

        case 76:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8072; /* *cmplsvnx2qi_and */

        case 77:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8102; /* *cmplsvnx2hi_and */

        case 78:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8122; /* *cmplsvnx2si_and */

        case 79:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8132; /* *cmplsvnx2di_and */

        case 80:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8043; /* *cmphsvnx16qi_and */

        case 81:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8053; /* *cmphsvnx8qi_and */

        case 82:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8083; /* *cmphsvnx8hi_and */

        case 83:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8063; /* *cmphsvnx4qi_and */

        case 84:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8093; /* *cmphsvnx4hi_and */

        case 85:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8113; /* *cmphsvnx4si_and */

        case 86:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8073; /* *cmphsvnx2qi_and */

        case 87:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8103; /* *cmphsvnx2hi_and */

        case 88:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8123; /* *cmphsvnx2si_and */

        case 89:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8133; /* *cmphsvnx2di_and */

        case 90:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8044; /* *cmphivnx16qi_and */

        case 91:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8054; /* *cmphivnx8qi_and */

        case 92:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8084; /* *cmphivnx8hi_and */

        case 93:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8064; /* *cmphivnx4qi_and */

        case 94:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8094; /* *cmphivnx4hi_and */

        case 95:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8114; /* *cmphivnx4si_and */

        case 96:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8074; /* *cmphivnx2qi_and */

        case 97:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8104; /* *cmphivnx2hi_and */

        case 98:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8124; /* *cmphivnx2si_and */

        case 99:
          if (!
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8134; /* *cmphivnx2di_and */

        default:
          return -1;
        }

    case AND:
      x8 = XEXP (x5, 0);
      if (pattern361 (x8) != 0)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != CLOBBER)
        return -1;
      switch (pattern668 (x1))
        {
        case 0:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8507; /* *fcmeqvnx8hf_bic_combine */

        case 1:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8513; /* *fcmeqvnx4sf_bic_combine */

        case 2:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8519; /* *fcmeqvnx2df_bic_combine */

        case 3:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8525; /* *fcmeqvnx8hf_nor_combine */

        case 4:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8531; /* *fcmeqvnx4sf_nor_combine */

        case 5:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8537; /* *fcmeqvnx2df_nor_combine */

        case 6:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8508; /* *fcmgevnx8hf_bic_combine */

        case 7:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8514; /* *fcmgevnx4sf_bic_combine */

        case 8:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8520; /* *fcmgevnx2df_bic_combine */

        case 9:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8526; /* *fcmgevnx8hf_nor_combine */

        case 10:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8532; /* *fcmgevnx4sf_nor_combine */

        case 11:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8538; /* *fcmgevnx2df_nor_combine */

        case 12:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8509; /* *fcmgtvnx8hf_bic_combine */

        case 13:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8515; /* *fcmgtvnx4sf_bic_combine */

        case 14:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8521; /* *fcmgtvnx2df_bic_combine */

        case 15:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8527; /* *fcmgtvnx8hf_nor_combine */

        case 16:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8533; /* *fcmgtvnx4sf_nor_combine */

        case 17:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8539; /* *fcmgtvnx2df_nor_combine */

        case 18:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8510; /* *fcmlevnx8hf_bic_combine */

        case 19:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8516; /* *fcmlevnx4sf_bic_combine */

        case 20:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8522; /* *fcmlevnx2df_bic_combine */

        case 21:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8528; /* *fcmlevnx8hf_nor_combine */

        case 22:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8534; /* *fcmlevnx4sf_nor_combine */

        case 23:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8540; /* *fcmlevnx2df_nor_combine */

        case 24:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8511; /* *fcmltvnx8hf_bic_combine */

        case 25:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8517; /* *fcmltvnx4sf_bic_combine */

        case 26:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8523; /* *fcmltvnx2df_bic_combine */

        case 27:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8529; /* *fcmltvnx8hf_nor_combine */

        case 28:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8535; /* *fcmltvnx4sf_nor_combine */

        case 29:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8541; /* *fcmltvnx2df_nor_combine */

        case 30:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8512; /* *fcmnevnx8hf_bic_combine */

        case 31:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8518; /* *fcmnevnx4sf_bic_combine */

        case 32:
          if (!
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8524; /* *fcmnevnx2df_bic_combine */

        case 33:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8530; /* *fcmnevnx8hf_nor_combine */

        case 34:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8536; /* *fcmnevnx4sf_nor_combine */

        case 35:
          if (!
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8542; /* *fcmnevnx2df_nor_combine */

        case 36:
          if (!
#line 8259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8543; /* *fcmuovnx8hf_bic_combine */

        case 37:
          if (!
#line 8259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8544; /* *fcmuovnx4sf_bic_combine */

        case 38:
          if (!
#line 8259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8545; /* *fcmuovnx2df_bic_combine */

        case 39:
          if (!
#line 8296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8546; /* *fcmuovnx8hf_nor_combine */

        case 40:
          if (!
#line 8296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8547; /* *fcmuovnx4sf_nor_combine */

        case 41:
          if (!
#line 8296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
            return -1;
          return 8548; /* *fcmuovnx2df_nor_combine */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_520 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_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 (pattern510 (x7, E_CCmode, E_SImode) != 0
              || !register_operand (operands[1], E_DFmode)
              || !
#line 7279 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_JSCVT))
            return -1;
          return 1145; /* aarch64_fjcvtzs */

        case 101:
          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 (pattern702 (x3, E_SImode) != 0
                  || !
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
                return -1;
              return 1161; /* stack_protect_set_si */

            case E_DImode:
              if (pattern702 (x3, E_DImode) != 0
                  || !
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
                return -1;
              return 1162; /* stack_protect_set_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 4:
      if (pattern286 (x2) != 0)
        return -1;
      x9 = XVECEXP (x3, 0, 2);
      if (XWINT (x9, 0) == 1L)
        {
          res = recog_507 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4760; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 4762; /* *aarch64_rdffr_z_cc */

                default:
                  return -1;
                }

            case AND:
              switch (pattern857 (x1, AND))
                {
                case 0:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7361; /* *andvnx16bi3_cc */

                case 1:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7364; /* *andvnx8bi3_cc */

                case 2:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7367; /* *andvnx4bi3_cc */

                case 3:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7370; /* *andvnx2bi3_cc */

                case 4:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7373; /* *andvnx16bi3_ptest */

                case 5:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7376; /* *andvnx8bi3_ptest */

                case 6:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7379; /* *andvnx4bi3_ptest */

                case 7:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7382; /* *andvnx2bi3_ptest */

                case 8:
                  if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7393; /* *bicvnx16bi3_cc */

                case 9:
                  if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7395; /* *bicvnx8bi3_cc */

                case 10:
                  if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7397; /* *bicvnx4bi3_cc */

                case 11:
                  if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7399; /* *bicvnx2bi3_cc */

                case 12:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7401; /* *bicvnx16bi3_ptest */

                case 13:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7403; /* *bicvnx8bi3_ptest */

                case 14:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7405; /* *bicvnx4bi3_ptest */

                case 15:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7407; /* *bicvnx2bi3_ptest */

                case 16:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7417; /* *norvnx16bi3_cc */

                case 17:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7419; /* *norvnx8bi3_cc */

                case 18:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7421; /* *norvnx4bi3_cc */

                case 19:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7423; /* *norvnx2bi3_cc */

                case 20:
                  if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7425; /* *norvnx16bi3_ptest */

                case 21:
                  if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7427; /* *norvnx8bi3_ptest */

                case 22:
                  if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7429; /* *norvnx4bi3_ptest */

                case 23:
                  if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7431; /* *norvnx2bi3_ptest */

                default:
                  return -1;
                }

            case IOR:
              switch (pattern857 (x1, IOR))
                {
                case 0:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7362; /* *iorvnx16bi3_cc */

                case 1:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7365; /* *iorvnx8bi3_cc */

                case 2:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7368; /* *iorvnx4bi3_cc */

                case 3:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7371; /* *iorvnx2bi3_cc */

                case 4:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7374; /* *iorvnx16bi3_ptest */

                case 5:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7377; /* *iorvnx8bi3_ptest */

                case 6:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7380; /* *iorvnx4bi3_ptest */

                case 7:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7383; /* *iorvnx2bi3_ptest */

                case 8:
                  if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7394; /* *ornvnx16bi3_cc */

                case 9:
                  if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7396; /* *ornvnx8bi3_cc */

                case 10:
                  if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7398; /* *ornvnx4bi3_cc */

                case 11:
                  if (!
#line 6491 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7400; /* *ornvnx2bi3_cc */

                case 12:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7402; /* *ornvnx16bi3_ptest */

                case 13:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7404; /* *ornvnx8bi3_ptest */

                case 14:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7406; /* *ornvnx4bi3_ptest */

                case 15:
                  if (!
#line 6510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7408; /* *ornvnx2bi3_ptest */

                case 16:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7418; /* *nandvnx16bi3_cc */

                case 17:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7420; /* *nandvnx8bi3_cc */

                case 18:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7422; /* *nandvnx4bi3_cc */

                case 19:
                  if (!
#line 6554 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7424; /* *nandvnx2bi3_cc */

                case 20:
                  if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7426; /* *nandvnx16bi3_ptest */

                case 21:
                  if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7428; /* *nandvnx8bi3_ptest */

                case 22:
                  if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7430; /* *nandvnx4bi3_ptest */

                case 23:
                  if (!
#line 6574 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7432; /* *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 (pattern852 (x1, XOR))
                {
                case 0:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7363; /* *xorvnx16bi3_cc */

                case 1:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7366; /* *xorvnx8bi3_cc */

                case 2:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7369; /* *xorvnx4bi3_cc */

                case 3:
                  if (!
#line 6430 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7372; /* *xorvnx2bi3_cc */

                case 4:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7375; /* *xorvnx16bi3_ptest */

                case 5:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7378; /* *xorvnx8bi3_ptest */

                case 6:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7381; /* *xorvnx4bi3_ptest */

                case 7:
                  if (!
#line 6448 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 7384; /* *xorvnx2bi3_ptest */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x10, 0) != 3)
            return -1;
          switch (XINT (x10, 1))
            {
            case 120:
              return recog_510 (x1, insn, pnum_clobbers);

            case 286:
              switch (pattern873 (x1, 286))
                {
                case 0:
                  if (!
#line 9694 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9090; /* *aarch64_brka_cc */

                case 1:
                  if (!
#line 9712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9092; /* *aarch64_brka_ptest */

                default:
                  return -1;
                }

            case 287:
              switch (pattern873 (x1, 287))
                {
                case 0:
                  if (!
#line 9694 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9091; /* *aarch64_brkb_cc */

                case 1:
                  if (!
#line 9712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9093; /* *aarch64_brkb_ptest */

                default:
                  return -1;
                }

            case 289:
              switch (pattern874 (x1, 289))
                {
                case 0:
                  if (!
#line 9813 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9099; /* *aarch64_brkpa_cc */

                case 1:
                  if (!
#line 9831 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9101; /* *aarch64_brkpa_ptest */

                default:
                  return -1;
                }

            case 290:
              switch (pattern874 (x1, 290))
                {
                case 0:
                  if (!
#line 9813 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9100; /* *aarch64_brkpb_cc */

                case 1:
                  if (!
#line 9831 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 9102; /* *aarch64_brkpb_ptest */

                default:
                  return -1;
                }

            case 291:
              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 (pattern950 (x1))
                {
                case 0:
                  if (!
#line 9874 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9108; /* *aarch64_sve_pfirstvnx16bi_cc */

                case 1:
                  if (!
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9113; /* *aarch64_sve_pfirstvnx16bi_ptest */

                default:
                  return -1;
                }

            case 292:
              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 (pattern935 (x1))
                {
                case 0:
                  if (!
#line 9874 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9109; /* *aarch64_sve_pnextvnx16bi_cc */

                case 1:
                  if (!
#line 9874 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9110; /* *aarch64_sve_pnextvnx8bi_cc */

                case 2:
                  if (!
#line 9874 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9111; /* *aarch64_sve_pnextvnx4bi_cc */

                case 3:
                  if (!
#line 9874 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9112; /* *aarch64_sve_pnextvnx2bi_cc */

                case 4:
                  if (!
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9114; /* *aarch64_sve_pnextvnx16bi_ptest */

                case 5:
                  if (!
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9115; /* *aarch64_sve_pnextvnx8bi_ptest */

                case 6:
                  if (!
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9116; /* *aarch64_sve_pnextvnx4bi_ptest */

                case 7:
                  if (!
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 9117; /* *aarch64_sve_pnextvnx2bi_ptest */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 3:
      return recog_514 (x1, insn, pnum_clobbers);

    case 2:
      return recog_515 (x1, insn, pnum_clobbers);

    default:
      return -1;
    }
}

static int
recog_521 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_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 (pattern509 (x1) != 0
              || !
#line 7713 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_TME))
            return -1;
          return 1210; /* tstart */

        case 149:
          if (pattern509 (x1) != 0
              || !
#line 7722 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_TME))
            return -1;
          return 1211; /* ttest */

        case 15:
          if (pattern511 (x1, 15) != 0
              || !
#line 7749 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_RNG))
            return -1;
          return 1214; /* aarch64_rndr */

        case 16:
          if (pattern511 (x1, 16) != 0
              || !
#line 7759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_RNG))
            return -1;
          return 1215; /* aarch64_rndrrs */

        case 54:
          if (pattern512 (x1, 53) != 0
              || !
#line 7880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_LS64))
            return -1;
          return 1224; /* st64bv */

        case 56:
          if (pattern512 (x1, 55) != 0
              || !
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_LS64))
            return -1;
          return 1225; /* 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 4582; /* 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 4583; /* 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 4584; /* 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 4585; /* 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 4586; /* 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 27:
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern797 (x4, E_QImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4462; /* aarch64_atomic_iorqi_lse */

            case E_HImode:
              if (pattern797 (x4, E_HImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4466; /* aarch64_atomic_iorhi_lse */

            case E_SImode:
              if (pattern797 (x4, E_SImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4470; /* aarch64_atomic_iorsi_lse */

            case E_DImode:
              if (pattern797 (x4, E_DImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4474; /* aarch64_atomic_iordi_lse */

            default:
              return -1;
            }

        case 28:
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern797 (x4, E_QImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4463; /* aarch64_atomic_bicqi_lse */

            case E_HImode:
              if (pattern797 (x4, E_HImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4467; /* aarch64_atomic_bichi_lse */

            case E_SImode:
              if (pattern797 (x4, E_SImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4471; /* aarch64_atomic_bicsi_lse */

            case E_DImode:
              if (pattern797 (x4, E_DImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4475; /* aarch64_atomic_bicdi_lse */

            default:
              return -1;
            }

        case 29:
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern797 (x4, E_QImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4464; /* aarch64_atomic_xorqi_lse */

            case E_HImode:
              if (pattern797 (x4, E_HImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4468; /* aarch64_atomic_xorhi_lse */

            case E_SImode:
              if (pattern797 (x4, E_SImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4472; /* aarch64_atomic_xorsi_lse */

            case E_DImode:
              if (pattern797 (x4, E_DImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4476; /* aarch64_atomic_xordi_lse */

            default:
              return -1;
            }

        case 30:
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern797 (x4, E_QImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4465; /* aarch64_atomic_addqi_lse */

            case E_HImode:
              if (pattern797 (x4, E_HImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4469; /* aarch64_atomic_addhi_lse */

            case E_SImode:
              if (pattern797 (x4, E_SImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4473; /* aarch64_atomic_addsi_lse */

            case E_DImode:
              if (pattern797 (x4, E_DImode) != 0
                  || !
#line 379 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4477; /* 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 (pattern553 (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 4581; /* aarch64_load_exclusive_pair */

    default:
      return -1;
    }
}

static int
recog_522 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_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, 1);
  if (GET_CODE (x2) != SET)
    return -1;
  x3 = XVECEXP (x1, 0, 0);
  x4 = XEXP (x3, 1);
  switch (GET_CODE (x4))
    {
    case MEM:
      res = recog_516 (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_517 (x1, insn, pnum_clobbers);
      if (res >= 0)
        return res;
      break;

    default:
      break;
    }
  x5 = XEXP (x2, 1);
  if (GET_CODE (x5) != UNSPEC_VOLATILE)
    return -1;
  x6 = XEXP (x3, 0);
  operands[0] = x6;
  operands[1] = x4;
  x7 = XEXP (x2, 0);
  if (!rtx_equal_p (x7, operands[1]))
    return -1;
  switch (XVECLEN (x5, 0))
    {
    case 3:
      x8 = XVECEXP (x5, 0, 1);
      operands[2] = x8;
      x9 = XVECEXP (x5, 0, 2);
      operands[3] = x9;
      if (!const_int_operand (operands[3], E_SImode))
        return -1;
      switch (XINT (x5, 1))
        {
        case 22:
          x10 = XVECEXP (x5, 0, 0);
          if (!rtx_equal_p (x10, operands[0]))
            return -1;
          switch (GET_MODE (operands[0]))
            {
            case E_SImode:
              if (pattern859 (x5, E_SImode) != 0
                  || !
#line 150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4431; /* aarch64_compare_and_swapsi_lse */

            case E_DImode:
              if (pattern859 (x5, E_DImode) != 0
                  || !
#line 150 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4432; /* aarch64_compare_and_swapdi_lse */

            case E_TImode:
              if (pattern798 (x5, E_TImode) != 0
                  || !
#line 172 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4433; /* aarch64_compare_and_swapti_lse */

            default:
              return -1;
            }

        case 27:
          switch (pattern799 (x5))
            {
            case 0:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4502; /* aarch64_atomic_fetch_iorqi_lse */

            case 1:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4506; /* aarch64_atomic_fetch_iorhi_lse */

            case 2:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4510; /* aarch64_atomic_fetch_iorsi_lse */

            case 3:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4514; /* aarch64_atomic_fetch_iordi_lse */

            default:
              return -1;
            }

        case 28:
          switch (pattern799 (x5))
            {
            case 0:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4503; /* aarch64_atomic_fetch_bicqi_lse */

            case 1:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4507; /* aarch64_atomic_fetch_bichi_lse */

            case 2:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4511; /* aarch64_atomic_fetch_bicsi_lse */

            case 3:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4515; /* aarch64_atomic_fetch_bicdi_lse */

            default:
              return -1;
            }

        case 29:
          switch (pattern799 (x5))
            {
            case 0:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4504; /* aarch64_atomic_fetch_xorqi_lse */

            case 1:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4508; /* aarch64_atomic_fetch_xorhi_lse */

            case 2:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4512; /* aarch64_atomic_fetch_xorsi_lse */

            case 3:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4516; /* aarch64_atomic_fetch_xordi_lse */

            default:
              return -1;
            }

        case 30:
          switch (pattern799 (x5))
            {
            case 0:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4505; /* aarch64_atomic_fetch_addqi_lse */

            case 1:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4509; /* aarch64_atomic_fetch_addhi_lse */

            case 2:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4513; /* aarch64_atomic_fetch_addsi_lse */

            case 3:
              if (!
#line 528 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4517; /* aarch64_atomic_fetch_adddi_lse */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 2:
      x8 = XVECEXP (x5, 0, 1);
      operands[3] = x8;
      if (!const_int_operand (operands[3], E_SImode))
        return -1;
      switch (XINT (x5, 1))
        {
        case 23:
          x10 = XVECEXP (x5, 0, 0);
          operands[2] = x10;
          switch (GET_MODE (operands[0]))
            {
            case E_QImode:
              if (pattern825 (x5, E_QImode) != 0)
                return -1;
              if (pnum_clobbers != NULL)
                {
                  *pnum_clobbers = 2;
                  return 4434; /* aarch64_atomic_exchangeqi */
                }
              if (!
#line 246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4438; /* aarch64_atomic_exchangeqi_lse */

            case E_HImode:
              if (pattern825 (x5, E_HImode) != 0)
                return -1;
              if (pnum_clobbers != NULL)
                {
                  *pnum_clobbers = 2;
                  return 4435; /* aarch64_atomic_exchangehi */
                }
              if (!
#line 246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4439; /* aarch64_atomic_exchangehi_lse */

            case E_SImode:
              if (pattern825 (x5, E_SImode) != 0)
                return -1;
              if (pnum_clobbers != NULL)
                {
                  *pnum_clobbers = 2;
                  return 4436; /* aarch64_atomic_exchangesi */
                }
              if (!
#line 246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4440; /* aarch64_atomic_exchangesi_lse */

            case E_DImode:
              if (pattern825 (x5, E_DImode) != 0)
                return -1;
              if (pnum_clobbers != NULL)
                {
                  *pnum_clobbers = 2;
                  return 4437; /* aarch64_atomic_exchangedi */
                }
              if (!
#line 246 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                return -1;
              return 4441; /* aarch64_atomic_exchangedi_lse */

            default:
              return -1;
            }

        case 26:
          if (pnum_clobbers == NULL)
            return -1;
          x10 = XVECEXP (x5, 0, 0);
          switch (GET_CODE (x10))
            {
            case PLUS:
              switch (pattern827 (x5))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4482; /* aarch64_atomic_fetch_addqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4487; /* aarch64_atomic_fetch_addhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4492; /* aarch64_atomic_fetch_addsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4497; /* aarch64_atomic_fetch_adddi */

                default:
                  return -1;
                }

            case MINUS:
              switch (pattern827 (x5))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4483; /* aarch64_atomic_fetch_subqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4488; /* aarch64_atomic_fetch_subhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4493; /* aarch64_atomic_fetch_subsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4498; /* aarch64_atomic_fetch_subdi */

                default:
                  return -1;
                }

            case IOR:
              switch (pattern829 (x5))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4484; /* aarch64_atomic_fetch_orqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4489; /* aarch64_atomic_fetch_orhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4494; /* aarch64_atomic_fetch_orsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4499; /* aarch64_atomic_fetch_ordi */

                default:
                  return -1;
                }

            case XOR:
              switch (pattern829 (x5))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4485; /* aarch64_atomic_fetch_xorqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4490; /* aarch64_atomic_fetch_xorhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4495; /* aarch64_atomic_fetch_xorsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4500; /* aarch64_atomic_fetch_xordi */

                default:
                  return -1;
                }

            case AND:
              switch (pattern829 (x5))
                {
                case 0:
                  *pnum_clobbers = 3;
                  return 4486; /* aarch64_atomic_fetch_andqi */

                case 1:
                  *pnum_clobbers = 3;
                  return 4491; /* aarch64_atomic_fetch_andhi */

                case 2:
                  *pnum_clobbers = 3;
                  return 4496; /* aarch64_atomic_fetch_andsi */

                case 3:
                  *pnum_clobbers = 3;
                  return 4501; /* aarch64_atomic_fetch_anddi */

                default:
                  return -1;
                }

            case NOT:
              x11 = XEXP (x10, 0);
              if (GET_CODE (x11) != AND)
                return -1;
              x12 = XEXP (x11, 1);
              operands[2] = x12;
              x13 = XEXP (x11, 0);
              if (!rtx_equal_p (x13, operands[1]))
                return -1;
              switch (GET_MODE (operands[0]))
                {
                case E_QImode:
                  if (pattern908 (x5, E_QImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4518; /* atomic_fetch_nandqi */

                case E_HImode:
                  if (pattern908 (x5, E_HImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4519; /* atomic_fetch_nandhi */

                case E_SImode:
                  if (pattern908 (x5, E_SImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4520; /* atomic_fetch_nandsi */

                case E_DImode:
                  if (pattern908 (x5, E_DImode) != 0)
                    return -1;
                  *pnum_clobbers = 3;
                  return 4521; /* atomic_fetch_nanddi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_523 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_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 (pattern800 (x9))
            {
            case 0:
              return 59; /* *call_value_insn */

            case 1:
              if (
#line 1156 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(SIBLING_CALL_P (insn)))
                return 61; /* *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]
      || pattern670 (x1) != 0)
    return -1;
  switch (pattern890 (x1))
    {
    case 0:
      if (!
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
        return -1;
      *pnum_clobbers = 1;
      return 1124; /* *tlsgd_small_si */

    case 1:
      if (!
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
        return -1;
      *pnum_clobbers = 1;
      return 1125; /* *tlsgd_small_di */

    default:
      return -1;
    }
}

static int
recog_524 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20;
  int res ATTRIBUTE_UNUSED;
  x2 = XVECEXP (x1, 0, 0);
  switch (GET_CODE (x2))
    {
    case SET:
      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 (pattern189 (x7, E_CCmode, 66) != 0)
            return -1;
          x8 = XEXP (x3, 0);
          switch (GET_CODE (x8))
            {
            case EQ:
              switch (pattern700 (x3))
                {
                case 0:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 34; /* *tbeqqisi1 */

                case 1:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 38; /* *tbeqhisi1 */

                case 2:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 42; /* *tbeqsisi1 */

                case 3:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 46; /* *tbeqdisi1 */

                case 4:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 36; /* *tbeqqidi1 */

                case 5:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 40; /* *tbeqhidi1 */

                case 6:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 44; /* *tbeqsidi1 */

                case 7:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 48; /* *tbeqdidi1 */

                default:
                  return -1;
                }

            case NE:
              switch (pattern700 (x3))
                {
                case 0:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 35; /* *tbneqisi1 */

                case 1:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 39; /* *tbnehisi1 */

                case 2:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 43; /* *tbnesisi1 */

                case 3:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 47; /* *tbnedisi1 */

                case 4:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 37; /* *tbneqidi1 */

                case 5:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 41; /* *tbnehidi1 */

                case 6:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 45; /* *tbnesidi1 */

                case 7:
                  if (!
#line 978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 49; /* *tbnedidi1 */

                default:
                  return -1;
                }

            case LT:
              switch (pattern701 (x3))
                {
                case 0:
                  if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 50; /* *cbltqi1 */

                case 1:
                  if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 52; /* *cblthi1 */

                case 2:
                  if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 54; /* *cbltsi1 */

                case 3:
                  if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 56; /* *cbltdi1 */

                default:
                  return -1;
                }

            case GE:
              switch (pattern701 (x3))
                {
                case 0:
                  if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 51; /* *cbgeqi1 */

                case 1:
                  if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 53; /* *cbgehi1 */

                case 2:
                  if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 55; /* *cbgesi1 */

                case 3:
                  if (!
#line 1014 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_track_speculation))
                    return -1;
                  return 57; /* *cbgedi1 */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case CALL:
          if (pnum_clobbers == NULL
              || pattern182 (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 59; /* *call_value_insn */

            case UNSPEC:
              if (pattern669 (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 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && TARGET_SVE) && 
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 1142; /* tlsdesc_small_sve_si */

                case E_DImode:
                  if (GET_MODE (x10) != E_DImode
                      || !(
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && TARGET_SVE) && 
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode)))
                    return -1;
                  *pnum_clobbers = 1;
                  return 1143; /* 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 1993 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 143; /* *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 2021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 145; /* *load_pair_zero_extendsidi2_aarch64 */

            case UNSPEC_VOLATILE:
              if (XVECLEN (x12, 0) != 3
                  || XINT (x12, 1) != 22
                  || !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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4429; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
(TARGET_LSE))
                    return -1;
                  return 4430; /* aarch64_compare_and_swaphi_lse */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case COMPARE:
          return recog_518 (x1, insn, pnum_clobbers);

        case EQ:
          switch (pattern174 (x1))
            {
            case 0:
              if (!
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), SImode)
   && !aarch64_plus_operand (operands[2], SImode)
   && !reload_completed))
                return -1;
              return 481; /* *compare_cstoresi_insn */

            case 1:
              if (!
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), DImode)
   && !aarch64_plus_operand (operands[2], DImode)
   && !reload_completed))
                return -1;
              return 483; /* *compare_cstoredi_insn */

            default:
              return -1;
            }

        case NE:
          switch (pattern174 (x1))
            {
            case 0:
              if (!
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), SImode)
   && !aarch64_plus_operand (operands[2], SImode)
   && !reload_completed))
                return -1;
              return 482; /* *compare_cstoresi_insn */

            case 1:
              if (!
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), DImode)
   && !aarch64_plus_operand (operands[2], DImode)
   && !reload_completed))
                return -1;
              return 484; /* *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 (pattern359 (x1))
                {
                case 0:
                  if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)))
                    return -1;
                  return 527; /* *aarch64_minmax_plus */

                case 1:
                  if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)))
                    return -1;
                  return 531; /* *aarch64_minmax_plus */

                default:
                  return -1;
                }

            case SMIN:
              switch (pattern359 (x1))
                {
                case 0:
                  if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)))
                    return -1;
                  return 528; /* *aarch64_minmax_plus */

                case 1:
                  if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)))
                    return -1;
                  return 532; /* *aarch64_minmax_plus */

                default:
                  return -1;
                }

            case UMAX:
              switch (pattern359 (x1))
                {
                case 0:
                  if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)))
                    return -1;
                  return 529; /* *aarch64_minmax_plus */

                case 1:
                  if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)))
                    return -1;
                  return 533; /* *aarch64_minmax_plus */

                default:
                  return -1;
                }

            case UMIN:
              switch (pattern359 (x1))
                {
                case 0:
                  if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)))
                    return -1;
                  return 530; /* *aarch64_minmax_plus */

                case 1:
                  if (!
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)))
                    return -1;
                  return 534; /* *aarch64_minmax_plus */

                default:
                  return -1;
                }

            case SUBREG:
            case MEM:
              if (pattern360 (x1, pnum_clobbers) != 0)
                return -1;
              switch (pattern662 (x1))
                {
                case 0:
                  *pnum_clobbers = 2;
                  return 4522; /* aarch64_atomic_add_fetchqi */

                case 1:
                  *pnum_clobbers = 2;
                  return 4527; /* aarch64_atomic_add_fetchhi */

                case 2:
                  *pnum_clobbers = 2;
                  return 4532; /* aarch64_atomic_add_fetchsi */

                case 3:
                  *pnum_clobbers = 2;
                  return 4537; /* aarch64_atomic_add_fetchdi */

                default:
                  return -1;
                }

            default:
              return -1;
            }

        case UNSPEC:
          return recog_520 (x1, insn, pnum_clobbers);

        case UNSPEC_VOLATILE:
          return recog_521 (x1, insn, pnum_clobbers);

        case NEG:
          switch (pattern175 (x1))
            {
            case 0:
              if (!
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3468; /* aarch64_cmltdi */

            case 1:
              if (!
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3469; /* aarch64_cmledi */

            case 2:
              if (!
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3470; /* aarch64_cmeqdi */

            case 3:
              if (!
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3471; /* aarch64_cmgedi */

            case 4:
              if (!
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3472; /* aarch64_cmgtdi */

            case 5:
              if (!
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3506; /* aarch64_cmltudi */

            case 6:
              if (!
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3507; /* aarch64_cmleudi */

            case 7:
              if (!
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3508; /* aarch64_cmgeudi */

            case 8:
              if (!
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3509; /* aarch64_cmgtudi */

            case 9:
              if (!
#line 6676 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
                return -1;
              return 3528; /* aarch64_cmtstdi */

            default:
              return -1;
            }

        case CONST_INT:
        case CONST_DOUBLE:
        case CONST_VECTOR:
        case CONST:
        case REG:
        case SUBREG:
        case MEM:
          return recog_522 (x1, insn, pnum_clobbers);

        case MINUS:
          if (pnum_clobbers == NULL)
            return -1;
          x7 = XVECEXP (x1, 0, 1);
          if (pattern288 (x7, 3, 26) != 0)
            return -1;
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          x8 = XEXP (x3, 0);
          operands[1] = x8;
          switch (pattern662 (x1))
            {
            case 0:
              *pnum_clobbers = 2;
              return 4523; /* aarch64_atomic_sub_fetchqi */

            case 1:
              *pnum_clobbers = 2;
              return 4528; /* aarch64_atomic_sub_fetchhi */

            case 2:
              *pnum_clobbers = 2;
              return 4533; /* aarch64_atomic_sub_fetchsi */

            case 3:
              *pnum_clobbers = 2;
              return 4538; /* aarch64_atomic_sub_fetchdi */

            default:
              return -1;
            }

        case IOR:
          switch (pattern179 (x1, pnum_clobbers))
            {
            case 0:
              *pnum_clobbers = 2;
              return 4524; /* aarch64_atomic_or_fetchqi */

            case 1:
              *pnum_clobbers = 2;
              return 4529; /* aarch64_atomic_or_fetchhi */

            case 2:
              *pnum_clobbers = 2;
              return 4534; /* aarch64_atomic_or_fetchsi */

            case 3:
              *pnum_clobbers = 2;
              return 4539; /* aarch64_atomic_or_fetchdi */

            default:
              return -1;
            }

        case XOR:
          switch (pattern179 (x1, pnum_clobbers))
            {
            case 0:
              *pnum_clobbers = 2;
              return 4525; /* aarch64_atomic_xor_fetchqi */

            case 1:
              *pnum_clobbers = 2;
              return 4530; /* aarch64_atomic_xor_fetchhi */

            case 2:
              *pnum_clobbers = 2;
              return 4535; /* aarch64_atomic_xor_fetchsi */

            case 3:
              *pnum_clobbers = 2;
              return 4540; /* aarch64_atomic_xor_fetchdi */

            default:
              return -1;
            }

        case AND:
          return recog_519 (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 (pattern288 (x7, 3, 26) != 0)
            return -1;
          x6 = XEXP (x2, 0);
          operands[0] = x6;
          x10 = XEXP (x8, 0);
          operands[1] = x10;
          x18 = XEXP (x8, 1);
          operands[2] = x18;
          x12 = XEXP (x7, 1);
          x16 = XVECEXP (x12, 0, 2);
          operands[3] = x16;
          if (!const_int_operand (operands[3], E_SImode))
            return -1;
          switch (pattern831 (x1))
            {
            case 0:
              *pnum_clobbers = 2;
              return 4542; /* atomic_nand_fetchqi */

            case 1:
              *pnum_clobbers = 2;
              return 4543; /* atomic_nand_fetchhi */

            case 2:
              *pnum_clobbers = 2;
              return 4544; /* atomic_nand_fetchsi */

            case 3:
              *pnum_clobbers = 2;
              return 4545; /* atomic_nand_fetchdi */

            default:
              return -1;
            }

        case VEC_DUPLICATE:
          switch (pattern180 (x1))
            {
            case 0:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5188; /* *vec_duplicatevnx16qi_reg */

            case 1:
              if (!
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
                return -1;
              return 5207; /* aarch64_vec_duplicate_vqvnx16qi_le */

            case 2:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5189; /* *vec_duplicatevnx8qi_reg */

            case 3:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5190; /* *vec_duplicatevnx4qi_reg */

            case 4:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5191; /* *vec_duplicatevnx2qi_reg */

            case 5:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5192; /* *vec_duplicatevnx8hi_reg */

            case 6:
              if (!
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
                return -1;
              return 5208; /* aarch64_vec_duplicate_vqvnx8hi_le */

            case 7:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5193; /* *vec_duplicatevnx4hi_reg */

            case 8:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5194; /* *vec_duplicatevnx2hi_reg */

            case 9:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5195; /* *vec_duplicatevnx8hf_reg */

            case 10:
              if (!
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
                return -1;
              return 5212; /* aarch64_vec_duplicate_vqvnx8hf_le */

            case 11:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5196; /* *vec_duplicatevnx4hf_reg */

            case 12:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5197; /* *vec_duplicatevnx2hf_reg */

            case 13:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5198; /* *vec_duplicatevnx8bf_reg */

            case 14:
              if (!
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
                return -1;
              return 5211; /* aarch64_vec_duplicate_vqvnx8bf_le */

            case 15:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5199; /* *vec_duplicatevnx4bf_reg */

            case 16:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5200; /* *vec_duplicatevnx2bf_reg */

            case 17:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5201; /* *vec_duplicatevnx4si_reg */

            case 18:
              if (!
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
                return -1;
              return 5209; /* aarch64_vec_duplicate_vqvnx4si_le */

            case 19:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5202; /* *vec_duplicatevnx2si_reg */

            case 20:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5203; /* *vec_duplicatevnx4sf_reg */

            case 21:
              if (!
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
                return -1;
              return 5213; /* aarch64_vec_duplicate_vqvnx4sf_le */

            case 22:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5204; /* *vec_duplicatevnx2sf_reg */

            case 23:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5205; /* *vec_duplicatevnx2di_reg */

            case 24:
              if (!
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
                return -1;
              return 5210; /* aarch64_vec_duplicate_vqvnx2di_le */

            case 25:
              if (!
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5206; /* *vec_duplicatevnx2df_reg */

            case 26:
              if (!
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN))
                return -1;
              return 5214; /* aarch64_vec_duplicate_vqvnx2df_le */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case CALL:
      if (pnum_clobbers == NULL
          || pattern40 (x1) != 0)
        return -1;
      *pnum_clobbers = 1;
      return 58; /* *call_insn */

    case UNSPEC_VOLATILE:
      if (XVECLEN (x2, 0) != 1)
        return -1;
      x7 = XVECEXP (x1, 0, 1);
      if (GET_CODE (x7) != CLOBBER)
        return -1;
      x13 = XEXP (x7, 0);
      if (GET_CODE (x13) != MEM
          || GET_MODE (x13) != E_BLKmode)
        return -1;
      x19 = XEXP (x13, 0);
      if (GET_CODE (x19) != SCRATCH
          || GET_MODE (x2) != E_BLKmode)
        return -1;
      switch (XINT (x2, 1))
        {
        case 13:
          x20 = XVECEXP (x2, 0, 0);
          if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
              || !
#line 7730 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_TME))
            return -1;
          return 1212; /* tcommit */

        case 14:
          x20 = XVECEXP (x2, 0, 0);
          operands[0] = x20;
          if (!const_int_operand (operands[0], E_VOIDmode)
              || !
#line 7739 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_TME && (UINTVAL (operands[0]) <= 65535)))
            return -1;
          return 1213; /* tcancel */

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_525 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_insn *insn ATTRIBUTE_UNUSED,
	int *pnum_clobbers ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11, x12, x13, x14, x15, x16, x17;
  rtx x18, x19, x20, x21, x22, x23, x24, x25;
  rtx x26, x27, x28, x29, x30, x31, x32, x33;
  rtx x34, x35, x36, x37, x38, x39, x40, x41;
  rtx x42, x43, x44, x45, x46, x47, x48, x49;
  int res ATTRIBUTE_UNUSED;
  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_453 (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) != 26)
            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 (pattern899 (x1))
            {
            case 0:
              return 4482; /* aarch64_atomic_fetch_addqi */

            case 1:
              return 4487; /* aarch64_atomic_fetch_addhi */

            case 2:
              return 4492; /* aarch64_atomic_fetch_addsi */

            case 3:
              return 4497; /* aarch64_atomic_fetch_adddi */

            case 4:
              return 4483; /* aarch64_atomic_fetch_subqi */

            case 5:
              return 4488; /* aarch64_atomic_fetch_subhi */

            case 6:
              return 4493; /* aarch64_atomic_fetch_subsi */

            case 7:
              return 4498; /* aarch64_atomic_fetch_subdi */

            case 8:
              return 4484; /* aarch64_atomic_fetch_orqi */

            case 9:
              return 4489; /* aarch64_atomic_fetch_orhi */

            case 10:
              return 4494; /* aarch64_atomic_fetch_orsi */

            case 11:
              return 4499; /* aarch64_atomic_fetch_ordi */

            case 12:
              return 4485; /* aarch64_atomic_fetch_xorqi */

            case 13:
              return 4490; /* aarch64_atomic_fetch_xorhi */

            case 14:
              return 4495; /* aarch64_atomic_fetch_xorsi */

            case 15:
              return 4500; /* aarch64_atomic_fetch_xordi */

            case 16:
              return 4486; /* aarch64_atomic_fetch_andqi */

            case 17:
              return 4491; /* aarch64_atomic_fetch_andhi */

            case 18:
              return 4496; /* aarch64_atomic_fetch_andsi */

            case 19:
              return 4501; /* aarch64_atomic_fetch_anddi */

            case 20:
              return 4518; /* atomic_fetch_nandqi */

            case 21:
              return 4519; /* atomic_fetch_nandhi */

            case 22:
              return 4520; /* atomic_fetch_nandsi */

            case 23:
              return 4521; /* atomic_fetch_nanddi */

            default:
              return -1;
            }

        case CONST_INT:
          if (XWINT (x5, 0) != 0L)
            return -1;
          x7 = XVECEXP (x1, 0, 1);
          if (GET_CODE (x7) != CLOBBER)
            return -1;
          x6 = XEXP (x4, 0);
          if (GET_CODE (x6) != REG
              || REGNO (x6) != 66
              || GET_MODE (x6) != E_CCmode)
            return -1;
          x10 = XVECEXP (x1, 0, 4);
          if (GET_CODE (x10) != SET)
            return -1;
          x13 = XEXP (x10, 1);
          if (GET_CODE (x13) != UNSPEC
              || XVECLEN (x13, 0) != 2)
            return -1;
          x14 = XVECEXP (x13, 0, 0);
          if (GET_CODE (x14) != MEM
              || GET_MODE (x14) != E_BLKmode)
            return -1;
          x15 = XEXP (x10, 0);
          if (GET_CODE (x15) != MEM
              || GET_MODE (x15) != E_BLKmode)
            return -1;
          x11 = XEXP (x2, 0);
          operands[2] = x11;
          if (!register_operand (operands[2], E_DImode))
            return -1;
          x16 = XEXP (x7, 0);
          operands[0] = x16;
          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 (x13) != E_BLKmode)
            return -1;
          x17 = XEXP (x14, 0);
          if (!rtx_equal_p (x17, operands[1]))
            return -1;
          x18 = XVECEXP (x13, 0, 1);
          if (!rtx_equal_p (x18, operands[2]))
            return -1;
          x19 = XEXP (x15, 0);
          if (!rtx_equal_p (x19, operands[0]))
            return -1;
          switch (XINT (x13, 1))
            {
            case 6:
              if (!
#line 1648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_MOPS))
                return -1;
              return 79; /* *aarch64_cpymemdi */

            case 58:
              if (!
#line 1694 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_MOPS))
                return -1;
              return 80; /* *aarch64_movmemdi */

            default:
              return -1;
            }

        case UNSPEC:
          if (XVECLEN (x5, 0) != 1
              || XINT (x5, 1) != 87)
            return -1;
          x11 = XEXP (x2, 0);
          if (GET_CODE (x11) != REG
              || REGNO (x11) != 0)
            return -1;
          x7 = XVECEXP (x1, 0, 1);
          if (pattern189 (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;
          x15 = XEXP (x10, 0);
          if (GET_CODE (x15) != REG
              || REGNO (x15) != 29
              || GET_MODE (x15) != E_DImode)
            return -1;
          x20 = XVECEXP (x5, 0, 0);
          operands[0] = x20;
          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 7243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && !TARGET_SVE) && 
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode)))
                return -1;
              return 1140; /* tlsdesc_small_advsimd_si */

            case E_DImode:
              if (GET_MODE (x5) != E_DImode
                  || !(
#line 7243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && !TARGET_SVE) && 
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode)))
                return -1;
              return 1141; /* tlsdesc_small_advsimd_di */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case 2:
      return recog_524 (x1, insn, pnum_clobbers);

    case 3:
      x2 = XVECEXP (x1, 0, 0);
      switch (GET_CODE (x2))
        {
        case CALL:
          if (pattern40 (x1) != 0)
            return -1;
          x3 = XVECEXP (x1, 0, 2);
          switch (pattern800 (x3))
            {
            case 0:
              return 58; /* *call_insn */

            case 1:
              if (!
#line 1136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(SIBLING_CALL_P (insn)))
                return -1;
              return 60; /* *sibcall_insn */

            default:
              return -1;
            }

        case SET:
          x5 = XEXP (x2, 1);
          switch (GET_CODE (x5))
            {
            case CALL:
              if (pattern182 (x1) != 0)
                return -1;
              x11 = XEXP (x2, 0);
              operands[0] = x11;
              res = recog_523 (x1, insn, pnum_clobbers);
              if (res >= 0)
                return res;
              x21 = XEXP (x5, 0);
              x22 = XEXP (x21, 0);
              if (GET_CODE (x22) != UNSPEC
                  || pattern669 (x2) != 0)
                return -1;
              x3 = XVECEXP (x1, 0, 2);
              if (pattern470 (x3, E_DImode, 30) != 0)
                return -1;
              x23 = XVECEXP (x22, 0, 0);
              operands[0] = x23;
              if (!aarch64_valid_symref (operands[0], E_VOIDmode))
                return -1;
              x7 = XVECEXP (x1, 0, 1);
              x24 = XVECEXP (x7, 0, 0);
              operands[1] = x24;
              if (!const_int_operand (operands[1], E_DImode))
                return -1;
              switch (GET_MODE (x11))
                {
                case E_SImode:
                  if (GET_MODE (x22) != E_SImode
                      || !(
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && TARGET_SVE) && 
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode)))
                    return -1;
                  return 1142; /* tlsdesc_small_sve_si */

                case E_DImode:
                  if (GET_MODE (x22) != E_DImode
                      || !(
#line 7259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_TLS_DESC && TARGET_SVE) && 
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode)))
                    return -1;
                  return 1143; /* tlsdesc_small_sve_di */

                default:
                  return -1;
                }

            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;
              x21 = XEXP (x5, 0);
              operands[1] = x21;
              x25 = XEXP (x5, 1);
              operands[4] = x25;
              x8 = XEXP (x7, 1);
              switch (GET_CODE (x8))
                {
                case MEM:
                  x26 = XEXP (x3, 1);
                  if (GET_CODE (x26) != MEM)
                    return -1;
                  x27 = XEXP (x26, 0);
                  if (GET_CODE (x27) != PLUS)
                    return -1;
                  x16 = XEXP (x7, 0);
                  operands[2] = x16;
                  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 (pattern892 (x1, E_SImode))
                        {
                        case 0:
                          if (!(
#line 1880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (SImode)) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 110; /* loadwb_pairsi_si */

                        case 1:
                          if (!(
#line 1880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (DImode)) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 112; /* loadwb_pairdi_si */

                        case 2:
                          if (!(
#line 1895 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (SFmode)) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 114; /* loadwb_pairsf_si */

                        case 3:
                          if (!(
#line 1895 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (DFmode)) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 115; /* loadwb_pairdf_si */

                        case 4:
                          if (!(
#line 1910 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]), GET_MODE_SIZE (TImode))) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 118; /* loadwb_pairti_si */

                        case 5:
                          if (!(
#line 1910 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]), GET_MODE_SIZE (TFmode))) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 120; /* loadwb_pairtf_si */

                        case 6:
                          if (!(
#line 1910 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]), GET_MODE_SIZE (TDmode))) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 122; /* loadwb_pairtd_si */

                        case 7:
                          if (!(
#line 1910 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]), GET_MODE_SIZE (V16QImode))) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 124; /* loadwb_pairv16qi_si */

                        default:
                          return -1;
                        }

                    case E_DImode:
                      switch (pattern892 (x1, E_DImode))
                        {
                        case 0:
                          if (!(
#line 1880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (SImode)) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 111; /* loadwb_pairsi_di */

                        case 1:
                          if (!(
#line 1880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (DImode)) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 113; /* loadwb_pairdi_di */

                        case 2:
                          if (!(
#line 1895 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (SFmode)) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 116; /* loadwb_pairsf_di */

                        case 3:
                          if (!(
#line 1895 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == GET_MODE_SIZE (DFmode)) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 117; /* loadwb_pairdf_di */

                        case 4:
                          if (!(
#line 1910 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]), GET_MODE_SIZE (TImode))) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 119; /* loadwb_pairti_di */

                        case 5:
                          if (!(
#line 1910 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]), GET_MODE_SIZE (TFmode))) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 121; /* loadwb_pairtf_di */

                        case 6:
                          if (!(
#line 1910 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]), GET_MODE_SIZE (TDmode))) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 123; /* loadwb_pairtd_di */

                        case 7:
                          if (!(
#line 1910 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]), GET_MODE_SIZE (V16QImode))) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 125; /* loadwb_pairv16qi_di */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                case REG:
                case SUBREG:
                  operands[2] = x8;
                  x16 = XEXP (x7, 0);
                  if (GET_CODE (x16) != MEM)
                    return -1;
                  x31 = XEXP (x16, 0);
                  if (GET_CODE (x31) != PLUS)
                    return -1;
                  x9 = XEXP (x3, 0);
                  if (GET_CODE (x9) != MEM)
                    return -1;
                  x32 = XEXP (x9, 0);
                  if (GET_CODE (x32) != PLUS)
                    return -1;
                  x33 = XEXP (x32, 1);
                  operands[5] = x33;
                  x26 = XEXP (x3, 1);
                  operands[3] = x26;
                  x34 = XEXP (x31, 0);
                  if (!rtx_equal_p (x34, operands[0]))
                    return -1;
                  x35 = XEXP (x31, 1);
                  if (!rtx_equal_p (x35, operands[4]))
                    return -1;
                  x36 = XEXP (x32, 0);
                  if (!rtx_equal_p (x36, operands[0]))
                    return -1;
                  switch (GET_MODE (operands[0]))
                    {
                    case E_SImode:
                      switch (pattern927 (x1, E_SImode))
                        {
                        case 0:
                          if (!(
#line 1929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SImode)) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 126; /* storewb_pairsi_si */

                        case 1:
                          if (!(
#line 1929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DImode)) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 128; /* storewb_pairdi_si */

                        case 2:
                          if (!(
#line 1945 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SFmode)) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 130; /* storewb_pairsf_si */

                        case 3:
                          if (!(
#line 1945 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DFmode)) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 131; /* storewb_pairdf_si */

                        case 4:
                          if (!(
#line 1961 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]),
		INTVAL (operands[4]) + GET_MODE_SIZE (TImode))) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 134; /* storewb_pairti_si */

                        case 5:
                          if (!(
#line 1961 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]),
		INTVAL (operands[4]) + GET_MODE_SIZE (TFmode))) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 136; /* storewb_pairtf_si */

                        case 6:
                          if (!(
#line 1961 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]),
		INTVAL (operands[4]) + GET_MODE_SIZE (TDmode))) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 138; /* storewb_pairtd_si */

                        case 7:
                          if (!(
#line 1961 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]),
		INTVAL (operands[4]) + GET_MODE_SIZE (V16QImode))) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)))
                            return -1;
                          return 140; /* storewb_pairv16qi_si */

                        default:
                          return -1;
                        }

                    case E_DImode:
                      switch (pattern927 (x1, E_DImode))
                        {
                        case 0:
                          if (!(
#line 1929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SImode)) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 127; /* storewb_pairsi_di */

                        case 1:
                          if (!(
#line 1929 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DImode)) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 129; /* storewb_pairdi_di */

                        case 2:
                          if (!(
#line 1945 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SFmode)) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 132; /* storewb_pairsf_di */

                        case 3:
                          if (!(
#line 1945 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DFmode)) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 133; /* storewb_pairdf_di */

                        case 4:
                          if (!(
#line 1961 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]),
		INTVAL (operands[4]) + GET_MODE_SIZE (TImode))) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 135; /* storewb_pairti_di */

                        case 5:
                          if (!(
#line 1961 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]),
		INTVAL (operands[4]) + GET_MODE_SIZE (TFmode))) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 137; /* storewb_pairtf_di */

                        case 6:
                          if (!(
#line 1961 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]),
		INTVAL (operands[4]) + GET_MODE_SIZE (TDmode))) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 139; /* storewb_pairtd_di */

                        case 7:
                          if (!(
#line 1961 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD
   && known_eq (INTVAL (operands[5]),
		INTVAL (operands[4]) + GET_MODE_SIZE (V16QImode))) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)))
                            return -1;
                          return 141; /* storewb_pairv16qi_di */

                        default:
                          return -1;
                        }

                    default:
                      return -1;
                    }

                default:
                  return -1;
                }

            case UNSPEC:
              if (XVECLEN (x5, 0) != 2
                  || XINT (x5, 1) != 102
                  || GET_MODE (x5) != E_CCmode
                  || pattern452 (x1, CLOBBER) != 0)
                return -1;
              x20 = XVECEXP (x5, 0, 0);
              operands[0] = x20;
              x37 = XVECEXP (x5, 0, 1);
              operands[1] = x37;
              x7 = XVECEXP (x1, 0, 1);
              x16 = XEXP (x7, 0);
              operands[2] = x16;
              x3 = XVECEXP (x1, 0, 2);
              x9 = XEXP (x3, 0);
              operands[3] = x9;
              switch (GET_MODE (operands[0]))
                {
                case E_SImode:
                  if (pattern875 (E_SImode) != 0
                      || !
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
                    return -1;
                  return 1163; /* stack_protect_test_si */

                case E_DImode:
                  if (pattern875 (E_DImode) != 0
                      || !
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
                    return -1;
                  return 1164; /* stack_protect_test_di */

                default:
                  return -1;
                }

            case UNSPEC_VOLATILE:
              if (pnum_clobbers == NULL
                  || XVECLEN (x5, 0) != 1
                  || XINT (x5, 1) != 22
                  || GET_MODE (x5) != E_CCmode)
                return -1;
              x20 = XVECEXP (x5, 0, 0);
              if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
                  || pattern452 (x1, SET) != 0)
                return -1;
              x3 = XVECEXP (x1, 0, 2);
              x26 = XEXP (x3, 1);
              if (GET_CODE (x26) != UNSPEC_VOLATILE
                  || XVECLEN (x26, 0) != 5
                  || XINT (x26, 1) != 22)
                return -1;
              x7 = XVECEXP (x1, 0, 1);
              x16 = XEXP (x7, 0);
              operands[0] = x16;
              x38 = XVECEXP (x26, 0, 0);
              operands[2] = x38;
              x39 = XVECEXP (x26, 0, 1);
              operands[3] = x39;
              x40 = XVECEXP (x26, 0, 2);
              operands[4] = x40;
              if (!const_int_operand (operands[4], E_SImode))
                return -1;
              x41 = XVECEXP (x26, 0, 3);
              operands[5] = x41;
              if (!const_int_operand (operands[5], E_SImode))
                return -1;
              x42 = XVECEXP (x26, 0, 4);
              operands[6] = x42;
              if (!const_int_operand (operands[6], E_SImode))
                return -1;
              switch (pattern363 (x1))
                {
                case 0:
                  *pnum_clobbers = 1;
                  return 4424; /* aarch64_compare_and_swapqi */

                case 1:
                  *pnum_clobbers = 1;
                  return 4425; /* aarch64_compare_and_swaphi */

                case 2:
                  *pnum_clobbers = 1;
                  return 4426; /* aarch64_compare_and_swapsi */

                case 3:
                  *pnum_clobbers = 1;
                  return 4427; /* aarch64_compare_and_swapdi */

                case 4:
                  *pnum_clobbers = 1;
                  return 4428; /* 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
              || pattern41 (x1, SET) != 0)
            return -1;
          x4 = XVECEXP (x1, 0, 3);
          x43 = XEXP (x4, 1);
          if (GET_CODE (x43) != UNSPEC
              || XVECLEN (x43, 0) != 2
              || XINT (x43, 1) != 74
              || GET_MODE (x43) != 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;
          x16 = XEXP (x7, 0);
          operands[0] = x16;
          if (!register_operand (operands[0], E_DImode))
            return -1;
          x44 = XVECEXP (x43, 0, 0);
          operands[1] = x44;
          if (!aarch64_reg_or_zero (operands[1], E_QImode))
            return -1;
          x45 = XVECEXP (x43, 0, 1);
          if (!rtx_equal_p (x45, operands[2]))
            return -1;
          x46 = XEXP (x6, 0);
          if (!rtx_equal_p (x46, operands[0])
              || !
#line 1746 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_MOPS))
            return -1;
          return 81; /* *aarch64_setmemdi */

        case CALL:
          x21 = XEXP (x5, 0);
          if (GET_CODE (x21) != MEM
              || GET_MODE (x21) != E_DImode)
            return -1;
          x25 = XEXP (x5, 1);
          if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
            return -1;
          x7 = XVECEXP (x1, 0, 1);
          if (pattern181 (x7) != 0
              || pattern670 (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 (pattern890 (x1))
            {
            case 0:
              if (!
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode))
                return -1;
              return 1124; /* *tlsgd_small_si */

            case 1:
              if (!
#line 152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode))
                return -1;
              return 1125; /* *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 (pattern369 (x1))
            {
            case 0:
              return 4424; /* aarch64_compare_and_swapqi */

            case 1:
              return 4425; /* aarch64_compare_and_swaphi */

            case 2:
              return 4426; /* aarch64_compare_and_swapsi */

            case 3:
              return 4427; /* aarch64_compare_and_swapdi */

            case 4:
              return 4428; /* aarch64_compare_and_swapti */

            case 5:
              return 4442; /* aarch64_atomic_addqi */

            case 6:
              return 4447; /* aarch64_atomic_addhi */

            case 7:
              return 4452; /* aarch64_atomic_addsi */

            case 8:
              return 4457; /* aarch64_atomic_adddi */

            case 9:
              return 4443; /* aarch64_atomic_subqi */

            case 10:
              return 4448; /* aarch64_atomic_subhi */

            case 11:
              return 4453; /* aarch64_atomic_subsi */

            case 12:
              return 4458; /* aarch64_atomic_subdi */

            case 13:
              return 4444; /* aarch64_atomic_orqi */

            case 14:
              return 4449; /* aarch64_atomic_orhi */

            case 15:
              return 4454; /* aarch64_atomic_orsi */

            case 16:
              return 4459; /* aarch64_atomic_ordi */

            case 17:
              return 4445; /* aarch64_atomic_xorqi */

            case 18:
              return 4450; /* aarch64_atomic_xorhi */

            case 19:
              return 4455; /* aarch64_atomic_xorsi */

            case 20:
              return 4460; /* aarch64_atomic_xordi */

            case 21:
              return 4446; /* aarch64_atomic_andqi */

            case 22:
              return 4451; /* aarch64_atomic_andhi */

            case 23:
              return 4456; /* aarch64_atomic_andsi */

            case 24:
              return 4461; /* aarch64_atomic_anddi */

            case 25:
              return 4478; /* atomic_nandqi */

            case 26:
              return 4479; /* atomic_nandhi */

            case 27:
              return 4480; /* atomic_nandsi */

            case 28:
              return 4481; /* atomic_nanddi */

            default:
              return -1;
            }

        case SUBREG:
        case MEM:
          operands[1] = x5;
          if (pattern42 (x1, 23, 2) != 0)
            return -1;
          x11 = XEXP (x2, 0);
          operands[0] = x11;
          x7 = XVECEXP (x1, 0, 1);
          x8 = XEXP (x7, 1);
          x47 = XVECEXP (x8, 0, 0);
          operands[2] = x47;
          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 (pattern916 (x7))
            {
            case 0:
              return 4434; /* aarch64_atomic_exchangeqi */

            case 1:
              return 4435; /* aarch64_atomic_exchangehi */

            case 2:
              return 4436; /* aarch64_atomic_exchangesi */

            case 3:
              return 4437; /* aarch64_atomic_exchangedi */

            default:
              return -1;
            }

        case PLUS:
          switch (pattern185 (x1))
            {
            case 0:
              return 4522; /* aarch64_atomic_add_fetchqi */

            case 1:
              return 4527; /* aarch64_atomic_add_fetchhi */

            case 2:
              return 4532; /* aarch64_atomic_add_fetchsi */

            case 3:
              return 4537; /* aarch64_atomic_add_fetchdi */

            default:
              return -1;
            }

        case MINUS:
          switch (pattern185 (x1))
            {
            case 0:
              return 4523; /* aarch64_atomic_sub_fetchqi */

            case 1:
              return 4528; /* aarch64_atomic_sub_fetchhi */

            case 2:
              return 4533; /* aarch64_atomic_sub_fetchsi */

            case 3:
              return 4538; /* aarch64_atomic_sub_fetchdi */

            default:
              return -1;
            }

        case IOR:
          switch (pattern186 (x1))
            {
            case 0:
              return 4524; /* aarch64_atomic_or_fetchqi */

            case 1:
              return 4529; /* aarch64_atomic_or_fetchhi */

            case 2:
              return 4534; /* aarch64_atomic_or_fetchsi */

            case 3:
              return 4539; /* aarch64_atomic_or_fetchdi */

            default:
              return -1;
            }

        case XOR:
          switch (pattern186 (x1))
            {
            case 0:
              return 4525; /* aarch64_atomic_xor_fetchqi */

            case 1:
              return 4530; /* aarch64_atomic_xor_fetchhi */

            case 2:
              return 4535; /* aarch64_atomic_xor_fetchsi */

            case 3:
              return 4540; /* aarch64_atomic_xor_fetchdi */

            default:
              return -1;
            }

        case AND:
          switch (pattern186 (x1))
            {
            case 0:
              return 4526; /* aarch64_atomic_and_fetchqi */

            case 1:
              return 4531; /* aarch64_atomic_and_fetchhi */

            case 2:
              return 4536; /* aarch64_atomic_and_fetchsi */

            case 3:
              return 4541; /* aarch64_atomic_and_fetchdi */

            default:
              return -1;
            }

        case NOT:
          x21 = XEXP (x5, 0);
          if (GET_CODE (x21) != AND
              || pattern42 (x1, 26, 3) != 0)
            return -1;
          x11 = XEXP (x2, 0);
          operands[0] = x11;
          x22 = XEXP (x21, 0);
          operands[1] = x22;
          x48 = XEXP (x21, 1);
          operands[2] = x48;
          x7 = XVECEXP (x1, 0, 1);
          x8 = XEXP (x7, 1);
          x49 = XVECEXP (x8, 0, 2);
          operands[3] = x49;
          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 (pattern831 (x1))
            {
            case 0:
              return 4542; /* atomic_nand_fetchqi */

            case 1:
              return 4543; /* atomic_nand_fetchhi */

            case 2:
              return 4544; /* atomic_nand_fetchsi */

            case 3:
              return 4545; /* atomic_nand_fetchdi */

            default:
              return -1;
            }

        default:
          return -1;
        }

    default:
      return -1;
    }
}

static int
recog_526 (rtx x1 ATTRIBUTE_UNUSED,
	rtx_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_450 (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_419 (x1, insn, pnum_clobbers);

    case IOR:
      return recog_424 (x1, insn, pnum_clobbers);

    case SIGN_EXTEND:
      return recog_429 (x1, insn, pnum_clobbers);

    case ZERO_EXTEND:
      return recog_413 (x1, insn, pnum_clobbers);

    case PLUS:
      return recog_417 (x1, insn, pnum_clobbers);

    case COMPARE:
      return recog_423 (x1, insn, pnum_clobbers);

    case MINUS:
      return recog_427 (x1, insn, pnum_clobbers);

    case ABS:
      return recog_437 (x1, insn, pnum_clobbers);

    case NEG:
      return recog_436 (x1, insn, pnum_clobbers);

    case MULT:
      return recog_416 (x1, insn, pnum_clobbers);

    case TRUNCATE:
      return recog_433 (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 (pattern1 (x2, E_SImode) != 0)
            return -1;
          return 435; /* divsi3 */

        case E_DImode:
          if (pattern1 (x2, E_DImode) != 0)
            return -1;
          return 437; /* divdi3 */

        case E_HFmode:
          if (pattern1 (x2, E_HFmode) != 0
              || !(
#line 6743 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT) && 
#line 58 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(AARCH64_ISA_F16)))
            return -1;
          return 1066; /* *divhf3 */

        case E_SFmode:
          if (pattern1 (x2, E_SFmode) != 0
              || !
#line 6743 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1067; /* *divsf3 */

        case E_DFmode:
          if (pattern1 (x2, E_DFmode) != 0
              || !
#line 6743 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1068; /* *divdf3 */

        case E_V4HFmode:
          if (pattern1 (x2, E_V4HFmode) != 0
              || !(
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2219; /* *divv4hf3 */

        case E_V8HFmode:
          if (pattern1 (x2, E_V8HFmode) != 0
              || !(
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2220; /* *divv8hf3 */

        case E_V2SFmode:
          if (pattern1 (x2, E_V2SFmode) != 0
              || !
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2221; /* *divv2sf3 */

        case E_V4SFmode:
          if (pattern1 (x2, E_V4SFmode) != 0
              || !
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2222; /* *divv4sf3 */

        case E_V2DFmode:
          if (pattern1 (x2, E_V2DFmode) != 0
              || !
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2223; /* *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 (pattern1 (x2, E_SImode) != 0)
            return -1;
          return 436; /* udivsi3 */

        case E_DImode:
          if (pattern1 (x2, E_DImode) != 0)
            return -1;
          return 438; /* 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_448 (x1, insn, pnum_clobbers);

    case UNSPEC:
      return recog_418 (x1, insn, pnum_clobbers);

    case UMAX:
      switch (pattern3 (x1))
        {
        case 0:
          if (!
#line 4446 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
            return -1;
          return 523; /* aarch64_umaxsi3_insn */

        case 1:
          if (!
#line 4446 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
            return -1;
          return 524; /* aarch64_umaxdi3_insn */

        case 2:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1931; /* umaxv8qi3 */

        case 3:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1935; /* umaxv16qi3 */

        case 4:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1939; /* umaxv4hi3 */

        case 5:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1943; /* umaxv8hi3 */

        case 6:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1947; /* umaxv2si3 */

        case 7:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1951; /* umaxv4si3 */

        case 8:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5934; /* *post_ra_umaxvnx16qi3 */

        case 9:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5939; /* *post_ra_umaxvnx8qi3 */

        case 10:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5944; /* *post_ra_umaxvnx4qi3 */

        case 11:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5949; /* *post_ra_umaxvnx2qi3 */

        case 12:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5954; /* *post_ra_umaxvnx8hi3 */

        case 13:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5959; /* *post_ra_umaxvnx4hi3 */

        case 14:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5964; /* *post_ra_umaxvnx2hi3 */

        case 15:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5969; /* *post_ra_umaxvnx4si3 */

        case 16:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5974; /* *post_ra_umaxvnx2si3 */

        case 17:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5979; /* *post_ra_umaxvnx2di3 */

        default:
          return -1;
        }

    case AND:
      return recog_414 (x1, insn, pnum_clobbers);

    case XOR:
      return recog_415 (x1, insn, pnum_clobbers);

    case NOT:
      return recog_434 (x1, insn, pnum_clobbers);

    case CLZ:
      switch (pattern4 (x1))
        {
        case 0:
          return 721; /* clzsi2 */

        case 1:
          return 722; /* clzdi2 */

        case 2:
          if (!
#line 3502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2507; /* clzv8qi2 */

        case 3:
          if (!
#line 3502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2508; /* clzv16qi2 */

        case 4:
          if (!
#line 3502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2509; /* clzv4hi2 */

        case 5:
          if (!
#line 3502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2510; /* clzv8hi2 */

        case 6:
          if (!
#line 3502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2511; /* clzv2si2 */

        case 7:
          if (!
#line 3502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2512; /* clzv4si2 */

        default:
          return -1;
        }

    case POPCOUNT:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = 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)
              || !
#line 5076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
            return -1;
          return 723; /* *aarch64_popcountsi2_cssc_insn */

        case E_DImode:
          if (!register_operand (operands[0], E_DImode)
              || GET_MODE (x2) != E_DImode
              || !register_operand (operands[1], E_DImode)
              || !
#line 5076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
            return -1;
          return 724; /* *aarch64_popcountdi2_cssc_insn */

        case E_V8QImode:
          if (!register_operand (operands[0], E_V8QImode)
              || GET_MODE (x2) != E_V8QImode
              || !register_operand (operands[1], E_V8QImode)
              || !
#line 3510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2513; /* popcountv8qi2 */

        case E_V16QImode:
          if (!register_operand (operands[0], E_V16QImode)
              || GET_MODE (x2) != E_V16QImode
              || !register_operand (operands[1], E_V16QImode)
              || !
#line 3510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2514; /* popcountv16qi2 */

        default:
          return -1;
        }

    case CLRSB:
      switch (pattern4 (x1))
        {
        case 0:
          return 725; /* clrsbsi2 */

        case 1:
          return 726; /* clrsbdi2 */

        case 2:
          if (!
#line 3494 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2501; /* clrsbv8qi2 */

        case 3:
          if (!
#line 3494 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2502; /* clrsbv16qi2 */

        case 4:
          if (!
#line 3494 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2503; /* clrsbv4hi2 */

        case 5:
          if (!
#line 3494 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2504; /* clrsbv8hi2 */

        case 6:
          if (!
#line 3494 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2505; /* clrsbv2si2 */

        case 7:
          if (!
#line 3494 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2506; /* clrsbv4si2 */

        default:
          return -1;
        }

    case CTZ:
      switch (pattern6 (x1))
        {
        case 0:
          return 729; /* ctzsi2 */

        case 1:
          return 730; /* ctzdi2 */

        default:
          return -1;
        }

    case ASHIFT:
      return recog_438 (x1, insn, pnum_clobbers);

    case ASHIFTRT:
      return recog_441 (x1, insn, pnum_clobbers);

    case LSHIFTRT:
      return recog_442 (x1, insn, pnum_clobbers);

    case ROTATERT:
      return recog_449 (x1, insn, pnum_clobbers);

    case ROTATE:
      x3 = XEXP (x1, 0);
      operands[0] = x3;
      x4 = XEXP (x2, 0);
      operands[1] = x4;
      x5 = XEXP (x2, 1);
      switch (GET_CODE (x5))
        {
        case SUBREG:
        case TRUNCATE:
          switch (pattern271 (x2))
            {
            case 0:
              if (!
#line 5358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0))
                return -1;
              return 755; /* *aarch64_rotl_reg_si3_mask1 */

            case 1:
              if (!
#line 5358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0))
                return -1;
              return 760; /* *aarch64_rotl_reg_di3_mask1 */

            case 2:
              if (!
#line 5422 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return -1;
              return 777; /* *aarch64_rotl_reg_di3_mask2 */

            case 3:
              if (!
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)))
                return -1;
              return 765; /* *aarch64_rotl_reg_si3_neg_mask2 */

            case 4:
              if (!
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)))
                return -1;
              return 770; /* *aarch64_rotl_reg_di3_neg_mask2 */

            default:
              return -1;
            }

        case CONST_INT:
          operands[2] = x5;
          if (!const_int_operand (operands[2], E_VOIDmode))
            return -1;
          switch (pattern5 (x2))
            {
            case 0:
              if (!
#line 5641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (SImode)))
                return -1;
              return 797; /* *rolsi3_insn */

            case 1:
              if (!
#line 5641 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(UINTVAL (operands[2]) < GET_MODE_BITSIZE (DImode)))
                return -1;
              return 798; /* *roldi3_insn */

            default:
              return -1;
            }

        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 (pattern345 (x2))
        {
        case 0:
          if (!
#line 5834 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (SImode) - 1)))
            return -1;
          return 833; /* *extvsi */

        case 1:
          if (!
#line 5834 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]),
	     1, GET_MODE_BITSIZE (DImode) - 1)))
            return -1;
          return 835; /* *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_404 (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 (pattern605 ())
            {
            case 0:
              if (!
#line 6978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
                return -1;
              return 1102; /* aarch64_movdi_tilow */

            case 1:
              if (!
#line 6978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
                return -1;
              return 1103; /* aarch64_movdi_tflow */

            case 2:
              if (!
#line 6978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
                return -1;
              return 1104; /* aarch64_movdi_tdlow */

            default:
              return -1;
            }

        case 64L:
          switch (pattern605 ())
            {
            case 0:
              if (!
#line 6988 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
                return -1;
              return 1105; /* aarch64_movdi_tihigh */

            case 1:
              if (!
#line 6988 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
                return -1;
              return 1106; /* aarch64_movdi_tfhigh */

            case 2:
              if (!
#line 6988 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT && (reload_completed || reload_in_progress)))
                return -1;
              return 1107; /* aarch64_movdi_tdhigh */

            default:
              return -1;
            }

        default:
          return -1;
        }

    case BSWAP:
      return recog_445 (x1, insn, pnum_clobbers);

    case FIX:
      return recog_431 (x1, insn, pnum_clobbers);

    case UNSIGNED_FIX:
      return recog_430 (x1, insn, pnum_clobbers);

    case FMA:
      return recog_420 (x1, insn, pnum_clobbers);

    case FLOAT_EXTEND:
      return recog_440 (x1, insn, pnum_clobbers);

    case FLOAT_TRUNCATE:
      return recog_452 (x1, insn, pnum_clobbers);

    case FLOAT:
      switch (pattern16 (x1))
        {
        case 0:
          if (!
#line 6526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1021; /* floatsisf2 */

        case 1:
          if (!
#line 6538 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1025; /* floatdisf2 */

        case 2:
          if (!
#line 6526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1023; /* floatdidf2 */

        case 3:
          if (!
#line 6538 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1027; /* floatsidf2 */

        case 4:
          if (!
#line 6553 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
            return -1;
          return 1029; /* aarch64_fp16_floatsihf2 */

        case 5:
          if (!
#line 6553 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
            return -1;
          return 1031; /* aarch64_fp16_floatdihf2 */

        case 6:
          if (!
#line 3086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
            return -1;
          return 2371; /* floathihf2 */

        case 7:
          if (!(
#line 3138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2379; /* floatv4hiv4hf2 */

        case 8:
          if (!(
#line 3138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2381; /* floatv8hiv8hf2 */

        case 9:
          if (!
#line 3138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2383; /* floatv2siv2sf2 */

        case 10:
          if (!
#line 3138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2385; /* floatv4siv4sf2 */

        case 11:
          if (!
#line 3138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2387; /* floatv2div2df2 */

        default:
          return -1;
        }

    case UNSIGNED_FLOAT:
      switch (pattern16 (x1))
        {
        case 0:
          if (!
#line 6526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1022; /* floatunssisf2 */

        case 1:
          if (!
#line 6538 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1026; /* floatunsdisf2 */

        case 2:
          if (!
#line 6526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1024; /* floatunsdidf2 */

        case 3:
          if (!
#line 6538 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FLOAT))
            return -1;
          return 1028; /* floatunssidf2 */

        case 4:
          if (!
#line 6553 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
            return -1;
          return 1030; /* aarch64_fp16_floatunssihf2 */

        case 5:
          if (!
#line 6553 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_FP_F16INST))
            return -1;
          return 1032; /* aarch64_fp16_floatunsdihf2 */

        case 6:
          if (!
#line 3086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD_F16INST))
            return -1;
          return 2372; /* floatunshihf2 */

        case 7:
          if (!(
#line 3138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 160 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2380; /* floatunsv4hiv4hf2 */

        case 8:
          if (!(
#line 3138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 161 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SIMD_F16INST)))
            return -1;
          return 2382; /* floatunsv8hiv8hf2 */

        case 9:
          if (!
#line 3138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2384; /* floatunsv2siv2sf2 */

        case 10:
          if (!
#line 3138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2386; /* floatunsv4siv4sf2 */

        case 11:
          if (!
#line 3138 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2388; /* floatunsv2div2df2 */

        default:
          return -1;
        }

    case SQRT:
      return recog_439 (x1, insn, pnum_clobbers);

    case SMAX:
      return recog_446 (x1, insn, pnum_clobbers);

    case SMIN:
      return recog_447 (x1, insn, pnum_clobbers);

    case UMIN:
      switch (pattern3 (x1))
        {
        case 0:
          if (!
#line 6785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
            return -1;
          return 1080; /* uminsi3 */

        case 1:
          if (!
#line 6785 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_CSSC))
            return -1;
          return 1083; /* umindi3 */

        case 2:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1932; /* uminv8qi3 */

        case 3:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1936; /* uminv16qi3 */

        case 4:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1940; /* uminv4hi3 */

        case 5:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1944; /* uminv8hi3 */

        case 6:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1948; /* uminv2si3 */

        case 7:
          if (!
#line 1539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 1952; /* uminv4si3 */

        case 8:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5935; /* *post_ra_uminvnx16qi3 */

        case 9:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5940; /* *post_ra_uminvnx8qi3 */

        case 10:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5945; /* *post_ra_uminvnx4qi3 */

        case 11:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5950; /* *post_ra_uminvnx2qi3 */

        case 12:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5955; /* *post_ra_uminvnx8hi3 */

        case 13:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5960; /* *post_ra_uminvnx4hi3 */

        case 14:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5965; /* *post_ra_uminvnx2hi3 */

        case 15:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5970; /* *post_ra_uminvnx4si3 */

        case 16:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5975; /* *post_ra_uminvnx2si3 */

        case 17:
          if (!
#line 3701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
            return -1;
          return 5980; /* *post_ra_uminvnx2di3 */

        default:
          return -1;
        }

    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 (pattern5 (x2))
        {
        case 0:
          if (!
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode))
            return -1;
          return 1115; /* add_losym_si */

        case 1:
          if (!
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode))
            return -1;
          return 1116; /* add_losym_di */

        default:
          return -1;
        }

    case UNSPEC_VOLATILE:
      return recog_426 (x1, insn, pnum_clobbers);

    case VEC_DUPLICATE:
      return recog_425 (x1, insn, pnum_clobbers);

    case VEC_SELECT:
      return recog_435 (x1, insn, pnum_clobbers);

    case VEC_MERGE:
      return recog_428 (x1, insn, pnum_clobbers);

    case VEC_CONCAT:
      return recog_412 (x1, insn, pnum_clobbers);

    case SS_PLUS:
      return recog_421 (x1, insn, pnum_clobbers);

    case US_PLUS:
      return recog_444 (x1, insn, pnum_clobbers);

    case SS_MINUS:
      return recog_422 (x1, insn, pnum_clobbers);

    case US_MINUS:
      return recog_443 (x1, insn, pnum_clobbers);

    case SS_TRUNCATE:
      switch (pattern20 (x1))
        {
        case 0:
          if (!
#line 5057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2917; /* aarch64_sqmovnhi */

        case 1:
          if (!
#line 5057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2919; /* aarch64_sqmovnsi */

        case 2:
          if (!
#line 5057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2921; /* aarch64_sqmovndi */

        default:
          return -1;
        }

    case US_TRUNCATE:
      switch (pattern20 (x1))
        {
        case 0:
          if (!
#line 5057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2918; /* aarch64_uqmovnhi */

        case 1:
          if (!
#line 5057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2920; /* aarch64_uqmovnsi */

        case 2:
          if (!
#line 5057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2922; /* aarch64_uqmovndi */

        default:
          return -1;
        }

    case SS_NEG:
      switch (pattern21 (x1))
        {
        case 0:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2962; /* aarch64_sqnegv8qi */

        case 1:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2964; /* aarch64_sqnegv16qi */

        case 2:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2966; /* aarch64_sqnegv4hi */

        case 3:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2968; /* aarch64_sqnegv8hi */

        case 4:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2970; /* aarch64_sqnegv2si */

        case 5:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2972; /* aarch64_sqnegv4si */

        case 6:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2974; /* aarch64_sqnegv2di */

        case 7:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2976; /* aarch64_sqnegqi */

        case 8:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2978; /* aarch64_sqneghi */

        case 9:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2980; /* aarch64_sqnegsi */

        case 10:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2982; /* aarch64_sqnegdi */

        default:
          return -1;
        }

    case SS_ABS:
      switch (pattern21 (x1))
        {
        case 0:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2963; /* aarch64_sqabsv8qi */

        case 1:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2965; /* aarch64_sqabsv16qi */

        case 2:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2967; /* aarch64_sqabsv4hi */

        case 3:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2969; /* aarch64_sqabsv8hi */

        case 4:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2971; /* aarch64_sqabsv2si */

        case 5:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2973; /* aarch64_sqabsv4si */

        case 6:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2975; /* aarch64_sqabsv2di */

        case 7:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2977; /* aarch64_sqabsqi */

        case 8:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2979; /* aarch64_sqabshi */

        case 9:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2981; /* aarch64_sqabssi */

        case 10:
          if (!
#line 5245 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD))
            return -1;
          return 2983; /* aarch64_sqabsdi */

        default:
          return -1;
        }

    case SS_ASHIFT:
      return recog_432 (x1, insn, pnum_clobbers);

    case VEC_SERIES:
      return recog_451 (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, x19;
  int res ATTRIBUTE_UNUSED;
  recog_data.insn = NULL;
  switch (GET_CODE (x1))
    {
    case SET:
      return recog_526 (x1, insn, pnum_clobbers);

    case PARALLEL:
      return recog_525 (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) != 156)
            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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5054; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5055; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5056; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5057; /* aarch64_sve_prefetchvnx2di */

            default:
              return -1;
            }

        case 7:
          if (XINT (x3, 1) != 157)
            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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5058; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5059; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5060; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 5061; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5062; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5063; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return 5064; /* 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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                    return -1;
                  return 5065; /* aarch64_sve_gather_prefetchvnx2divnx2di */

                default:
                  return -1;
                }

            case UNSPEC:
              if (pattern372 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5066; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5067; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5068; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5069; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5070; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5071; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return 5072; /* *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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE))
                return -1;
              return 5073; /* *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:
      switch (XVECLEN (x1, 0))
        {
        case 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 1155; /* 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 1165; /* aarch64_set_fpsrsi */

                case E_DImode:
                  if (!register_operand (operands[0], E_DImode))
                    return -1;
                  return 1167; /* 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 1166; /* aarch64_set_fpcrsi */

                case E_DImode:
                  if (!register_operand (operands[0], E_DImode))
                    return -1;
                  return 1168; /* 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 1175; /* bti_noarg */

            case 9:
              x2 = XVECEXP (x1, 0, 0);
              if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              return 1176; /* bti_c */

            case 10:
              x2 = XVECEXP (x1, 0, 0);
              if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              return 1177; /* bti_j */

            case 11:
              x2 = XVECEXP (x1, 0, 0);
              if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              return 1178; /* bti_jc */

            case 7:
              x2 = XVECEXP (x1, 0, 0);
              if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
                return -1;
              return 1179; /* speculation_barrier */

            default:
              return -1;
            }

        case 2:
          if (XINT (x1, 1) != 165)
            return -1;
          x2 = XVECEXP (x1, 0, 0);
          operands[0] = x2;
          if (!const_int_operand (operands[0], E_VOIDmode))
            return -1;
          x19 = XVECEXP (x1, 0, 1);
          operands[1] = x19;
          if (!const_int_operand (operands[1], E_VOIDmode))
            return -1;
          return 1226; /* patchable_area */

        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 1333 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 1371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 1465 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_V16QImode:
      if (!register_operand (operands[0], E_V16QImode)
          || !register_operand (operands[1], E_V16QImode))
        return NULL;
      if (
#line 264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_106 (insn, operands);
      if (!
#line 277 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && 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_114 (insn, operands);

    case E_V8HImode:
      if (!register_operand (operands[0], E_V8HImode)
          || !register_operand (operands[1], E_V8HImode))
        return NULL;
      if (
#line 264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_107 (insn, operands);
      if (!
#line 277 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && 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_115 (insn, operands);

    case E_V4SImode:
      if (!register_operand (operands[0], E_V4SImode)
          || !register_operand (operands[1], E_V4SImode))
        return NULL;
      if (
#line 264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_108 (insn, operands);
      if (!
#line 277 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && 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_116 (insn, operands);

    case E_V2DImode:
      if (!register_operand (operands[0], E_V2DImode)
          || !register_operand (operands[1], E_V2DImode))
        return NULL;
      if (
#line 264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_109 (insn, operands);
      if (!
#line 277 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && 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_117 (insn, operands);

    case E_V8HFmode:
      if (!register_operand (operands[0], E_V8HFmode)
          || !register_operand (operands[1], E_V8HFmode))
        return NULL;
      if (
#line 264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_110 (insn, operands);
      if (!
#line 277 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && 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_118 (insn, operands);

    case E_V8BFmode:
      if (!register_operand (operands[0], E_V8BFmode)
          || !register_operand (operands[1], E_V8BFmode))
        return NULL;
      if (
#line 264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_111 (insn, operands);
      if (!
#line 277 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && 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_119 (insn, operands);

    case E_V4SFmode:
      if (!register_operand (operands[0], E_V4SFmode)
          || !register_operand (operands[1], E_V4SFmode))
        return NULL;
      if (
#line 264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_112 (insn, operands);
      if (!
#line 277 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && 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_120 (insn, operands);

    case E_V2DFmode:
      if (!register_operand (operands[0], E_V2DFmode)
          || !register_operand (operands[1], E_V2DFmode))
        return NULL;
      if (
#line 264 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && reload_completed
   && GP_REGNUM_P (REGNO (operands[0]))
   && GP_REGNUM_P (REGNO (operands[1]))))
        return gen_split_113 (insn, operands);
      if (!
#line 277 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT
   && 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_121 (insn, operands);

    case E_V2x8QImode:
      if (!register_operand (operands[0], E_V2x8QImode)
          || !register_operand (operands[1], E_V2x8QImode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_205 (insn, operands);

    case E_V2x4HImode:
      if (!register_operand (operands[0], E_V2x4HImode)
          || !register_operand (operands[1], E_V2x4HImode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_206 (insn, operands);

    case E_V2x2SImode:
      if (!register_operand (operands[0], E_V2x2SImode)
          || !register_operand (operands[1], E_V2x2SImode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_207 (insn, operands);

    case E_V2x1DImode:
      if (!register_operand (operands[0], E_V2x1DImode)
          || !register_operand (operands[1], E_V2x1DImode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_208 (insn, operands);

    case E_V2x4HFmode:
      if (!register_operand (operands[0], E_V2x4HFmode)
          || !register_operand (operands[1], E_V2x4HFmode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_209 (insn, operands);

    case E_V2x2SFmode:
      if (!register_operand (operands[0], E_V2x2SFmode)
          || !register_operand (operands[1], E_V2x2SFmode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_210 (insn, operands);

    case E_V2x1DFmode:
      if (!register_operand (operands[0], E_V2x1DFmode)
          || !register_operand (operands[1], E_V2x1DFmode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_211 (insn, operands);

    case E_V2x4BFmode:
      if (!register_operand (operands[0], E_V2x4BFmode)
          || !register_operand (operands[1], E_V2x4BFmode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_212 (insn, operands);

    case E_V2x16QImode:
      if (!register_operand (operands[0], E_V2x16QImode)
          || !register_operand (operands[1], E_V2x16QImode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_213 (insn, operands);

    case E_V2x8HImode:
      if (!register_operand (operands[0], E_V2x8HImode)
          || !register_operand (operands[1], E_V2x8HImode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_214 (insn, operands);

    case E_V2x4SImode:
      if (!register_operand (operands[0], E_V2x4SImode)
          || !register_operand (operands[1], E_V2x4SImode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_215 (insn, operands);

    case E_V2x2DImode:
      if (!register_operand (operands[0], E_V2x2DImode)
          || !register_operand (operands[1], E_V2x2DImode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_216 (insn, operands);

    case E_V2x8HFmode:
      if (!register_operand (operands[0], E_V2x8HFmode)
          || !register_operand (operands[1], E_V2x8HFmode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_217 (insn, operands);

    case E_V2x4SFmode:
      if (!register_operand (operands[0], E_V2x4SFmode)
          || !register_operand (operands[1], E_V2x4SFmode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_218 (insn, operands);

    case E_V2x2DFmode:
      if (!register_operand (operands[0], E_V2x2DFmode)
          || !register_operand (operands[1], E_V2x2DFmode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_219 (insn, operands);

    case E_V2x8BFmode:
      if (!register_operand (operands[0], E_V2x8BFmode)
          || !register_operand (operands[1], E_V2x8BFmode)
          || !
#line 7417 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_220 (insn, operands);

    case E_OImode:
      if (!register_operand (operands[0], E_OImode)
          || !register_operand (operands[1], E_OImode)
          || !
#line 7427 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_221 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_396 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_397 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_398 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_399 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_400 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_401 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_402 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_403 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_404 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_405 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_406 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_407 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_408 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_409 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_410 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_411 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_412 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_413 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_414 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_415 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_416 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_417 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_418 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && reload_completed))
        return NULL;
      return gen_split_419 (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 (pattern430 (x2))
    {
    case 0:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_454 (insn, operands);

    case 1:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_458 (insn, operands);

    case 2:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_462 (insn, operands);

    case 3:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_466 (insn, operands);

    case 4:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_470 (insn, operands);

    case 5:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_474 (insn, operands);

    case 6:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_478 (insn, operands);

    case 7:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_482 (insn, operands);

    case 8:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_486 (insn, operands);

    case 9:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_490 (insn, operands);

    case 10:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_455 (insn, operands);

    case 11:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_459 (insn, operands);

    case 12:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_463 (insn, operands);

    case 13:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_467 (insn, operands);

    case 14:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_471 (insn, operands);

    case 15:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_475 (insn, operands);

    case 16:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_479 (insn, operands);

    case 17:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_483 (insn, operands);

    case 18:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_487 (insn, operands);

    case 19:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_491 (insn, operands);

    case 20:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_494 (insn, operands);

    case 21:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_498 (insn, operands);

    case 22:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_502 (insn, operands);

    case 23:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_506 (insn, operands);

    case 24:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_510 (insn, operands);

    case 25:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_514 (insn, operands);

    case 26:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_518 (insn, operands);

    case 27:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_522 (insn, operands);

    case 28:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_526 (insn, operands);

    case 29:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_530 (insn, operands);

    case 30:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_495 (insn, operands);

    case 31:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_499 (insn, operands);

    case 32:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_503 (insn, operands);

    case 33:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_507 (insn, operands);

    case 34:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_511 (insn, operands);

    case 35:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_515 (insn, operands);

    case 36:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_519 (insn, operands);

    case 37:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_523 (insn, operands);

    case 38:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_527 (insn, operands);

    case 39:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_531 (insn, operands);

    case 40:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_557 (insn, operands);

    case 41:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_559 (insn, operands);

    case 42:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_561 (insn, operands);

    case 43:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_563 (insn, operands);

    case 44:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_565 (insn, operands);

    case 45:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_569 (insn, operands);

    case 46:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_567 (insn, operands);

    case 47:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_571 (insn, operands);

    case 48:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_573 (insn, operands);

    case 49:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_575 (insn, operands);

    case 50:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_579 (insn, operands);

    case 51:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_587 (insn, operands);

    case 52:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_583 (insn, operands);

    case 53:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_591 (insn, operands);

    case 54:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_595 (insn, operands);

    case 55:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_599 (insn, operands);

    case 56:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_601 (insn, operands);

    case 57:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_605 (insn, operands);

    case 58:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_603 (insn, operands);

    case 59:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_607 (insn, operands);

    case 60:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_609 (insn, operands);

    case 61:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_577 (insn, operands);

    case 62:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_581 (insn, operands);

    case 63:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_589 (insn, operands);

    case 64:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_585 (insn, operands);

    case 65:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_593 (insn, operands);

    case 66:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_597 (insn, operands);

    case 67:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_611 (insn, operands);

    case 68:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_613 (insn, operands);

    case 69:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_617 (insn, operands);

    case 70:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_615 (insn, operands);

    case 71:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_619 (insn, operands);

    case 72:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_621 (insn, operands);

    case 73:
      if (!(
#line 1820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1828 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_625 (insn, operands);

    case 74:
      if (!(
#line 1820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1828 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_627 (insn, operands);

    case 75:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_629 (insn, operands);

    case 76:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_631 (insn, operands);

    case 77:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_633 (insn, operands);

    case 78:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_635 (insn, operands);

    case 79:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_637 (insn, operands);

    case 80:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_639 (insn, operands);

    case 81:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_641 (insn, operands);

    case 82:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_643 (insn, operands);

    case 83:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_645 (insn, operands);

    case 84:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x41) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2226 (insn, operands);

    case 85:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x42) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2230 (insn, operands);

    case 86:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x21) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2228 (insn, operands);

    case 87:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x22) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2232 (insn, operands);

    case 88:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x24) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2234 (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 (pattern430 (x2))
    {
    case 0:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_452 (insn, operands);

    case 1:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_456 (insn, operands);

    case 2:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_460 (insn, operands);

    case 3:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_464 (insn, operands);

    case 4:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_468 (insn, operands);

    case 5:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_472 (insn, operands);

    case 6:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_476 (insn, operands);

    case 7:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_480 (insn, operands);

    case 8:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_484 (insn, operands);

    case 9:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_488 (insn, operands);

    case 10:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_453 (insn, operands);

    case 11:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_457 (insn, operands);

    case 12:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_461 (insn, operands);

    case 13:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_465 (insn, operands);

    case 14:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_469 (insn, operands);

    case 15:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_473 (insn, operands);

    case 16:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_477 (insn, operands);

    case 17:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_481 (insn, operands);

    case 18:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_485 (insn, operands);

    case 19:
      if (!(
#line 1300 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1302 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_489 (insn, operands);

    case 20:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_492 (insn, operands);

    case 21:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_496 (insn, operands);

    case 22:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_500 (insn, operands);

    case 23:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_504 (insn, operands);

    case 24:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_508 (insn, operands);

    case 25:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_512 (insn, operands);

    case 26:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_516 (insn, operands);

    case 27:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_520 (insn, operands);

    case 28:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_524 (insn, operands);

    case 29:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_528 (insn, operands);

    case 30:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_493 (insn, operands);

    case 31:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_497 (insn, operands);

    case 32:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_501 (insn, operands);

    case 33:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_505 (insn, operands);

    case 34:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_509 (insn, operands);

    case 35:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_513 (insn, operands);

    case 36:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_517 (insn, operands);

    case 37:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_521 (insn, operands);

    case 38:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_525 (insn, operands);

    case 39:
      if (!(
#line 1364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
        return NULL;
      return gen_split_529 (insn, operands);

    case 40:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_556 (insn, operands);

    case 41:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_558 (insn, operands);

    case 42:
      if (!(
#line 1560 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 1568 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_560 (insn, operands);

    case 43:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_562 (insn, operands);

    case 44:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_564 (insn, operands);

    case 45:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_568 (insn, operands);

    case 46:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_566 (insn, operands);

    case 47:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_570 (insn, operands);

    case 48:
      if (!(
#line 1590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1596 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_572 (insn, operands);

    case 49:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_574 (insn, operands);

    case 50:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_578 (insn, operands);

    case 51:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_586 (insn, operands);

    case 52:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_582 (insn, operands);

    case 53:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_590 (insn, operands);

    case 54:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_594 (insn, operands);

    case 55:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_598 (insn, operands);

    case 56:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_600 (insn, operands);

    case 57:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_604 (insn, operands);

    case 58:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_602 (insn, operands);

    case 59:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_606 (insn, operands);

    case 60:
      if (!(
#line 1653 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1657 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_608 (insn, operands);

    case 61:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_576 (insn, operands);

    case 62:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_580 (insn, operands);

    case 63:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_588 (insn, operands);

    case 64:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_584 (insn, operands);

    case 65:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_592 (insn, operands);

    case 66:
      if (!(
#line 1621 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1625 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_596 (insn, operands);

    case 67:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_610 (insn, operands);

    case 68:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_612 (insn, operands);

    case 69:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_616 (insn, operands);

    case 70:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_614 (insn, operands);

    case 71:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_618 (insn, operands);

    case 72:
      if (!(
#line 1682 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 1686 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_620 (insn, operands);

    case 73:
      if (!(
#line 1820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1828 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_624 (insn, operands);

    case 74:
      if (!(
#line 1820 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1828 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_626 (insn, operands);

    case 75:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_628 (insn, operands);

    case 76:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_630 (insn, operands);

    case 77:
      if (!(
#line 1851 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1857 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
        return NULL;
      return gen_split_632 (insn, operands);

    case 78:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_634 (insn, operands);

    case 79:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_636 (insn, operands);

    case 80:
      if (!(
#line 1884 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1888 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[6]) || !CONSTANT_P (operands[7])))))
        return NULL;
      return gen_split_638 (insn, operands);

    case 81:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_640 (insn, operands);

    case 82:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_642 (insn, operands);

    case 83:
      if (!(
#line 1913 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1917 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[7]))))
        return NULL;
      return gen_split_644 (insn, operands);

    case 84:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x41) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2225 (insn, operands);

    case 85:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x43 & 0x42) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2229 (insn, operands);

    case 86:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x21) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2227 (insn, operands);

    case 87:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x22) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2231 (insn, operands);

    case 88:
      if (!(
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && (~0x27 & 0x24) == 0) && 
#line 136 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2233 (insn, operands);

    default:
      return NULL;
    }
}

static rtx_insn *
split_4 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  x3 = XVECEXP (x2, 0, 1);
  switch (GET_CODE (x3))
    {
    case REG:
    case SUBREG:
    case MEM:
      switch (pattern322 (x2))
        {
        case 0:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16QImode)
       || register_operand (operands[2], VNx16QImode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx16QImode)
   && register_operand (operands[2], VNx16QImode))))
            return NULL;
          return gen_split_339 (insn, operands);

        case 1:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8QImode)
       || register_operand (operands[2], VNx8QImode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx8QImode)
   && register_operand (operands[2], VNx8QImode))))
            return NULL;
          return gen_split_340 (insn, operands);

        case 2:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4QImode)
       || register_operand (operands[2], VNx4QImode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4QImode)
   && register_operand (operands[2], VNx4QImode))))
            return NULL;
          return gen_split_341 (insn, operands);

        case 3:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2QImode)
       || register_operand (operands[2], VNx2QImode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2QImode)
   && register_operand (operands[2], VNx2QImode))))
            return NULL;
          return gen_split_342 (insn, operands);

        case 4:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8HImode)
       || register_operand (operands[2], VNx8HImode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx8HImode)
   && register_operand (operands[2], VNx8HImode))))
            return NULL;
          return gen_split_343 (insn, operands);

        case 5:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4HImode)
       || register_operand (operands[2], VNx4HImode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4HImode)
   && register_operand (operands[2], VNx4HImode))))
            return NULL;
          return gen_split_344 (insn, operands);

        case 6:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2HImode)
       || register_operand (operands[2], VNx2HImode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2HImode)
   && register_operand (operands[2], VNx2HImode))))
            return NULL;
          return gen_split_345 (insn, operands);

        case 7:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8HFmode)
       || register_operand (operands[2], VNx8HFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx8HFmode)
   && register_operand (operands[2], VNx8HFmode))))
            return NULL;
          return gen_split_346 (insn, operands);

        case 8:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4HFmode)
       || register_operand (operands[2], VNx4HFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4HFmode)
   && register_operand (operands[2], VNx4HFmode))))
            return NULL;
          return gen_split_347 (insn, operands);

        case 9:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2HFmode)
       || register_operand (operands[2], VNx2HFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2HFmode)
   && register_operand (operands[2], VNx2HFmode))))
            return NULL;
          return gen_split_348 (insn, operands);

        case 10:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8BFmode)
       || register_operand (operands[2], VNx8BFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx8BFmode)
   && register_operand (operands[2], VNx8BFmode))))
            return NULL;
          return gen_split_349 (insn, operands);

        case 11:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4BFmode)
       || register_operand (operands[2], VNx4BFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4BFmode)
   && register_operand (operands[2], VNx4BFmode))))
            return NULL;
          return gen_split_350 (insn, operands);

        case 12:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2BFmode)
       || register_operand (operands[2], VNx2BFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2BFmode)
   && register_operand (operands[2], VNx2BFmode))))
            return NULL;
          return gen_split_351 (insn, operands);

        case 13:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4SImode)
       || register_operand (operands[2], VNx4SImode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4SImode)
   && register_operand (operands[2], VNx4SImode))))
            return NULL;
          return gen_split_352 (insn, operands);

        case 14:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2SImode)
       || register_operand (operands[2], VNx2SImode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2SImode)
   && register_operand (operands[2], VNx2SImode))))
            return NULL;
          return gen_split_353 (insn, operands);

        case 15:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4SFmode)
       || register_operand (operands[2], VNx4SFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx4SFmode)
   && register_operand (operands[2], VNx4SFmode))))
            return NULL;
          return gen_split_354 (insn, operands);

        case 16:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2SFmode)
       || register_operand (operands[2], VNx2SFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2SFmode)
   && register_operand (operands[2], VNx2SFmode))))
            return NULL;
          return gen_split_355 (insn, operands);

        case 17:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2DImode)
       || register_operand (operands[2], VNx2DImode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2DImode)
   && register_operand (operands[2], VNx2DImode))))
            return NULL;
          return gen_split_356 (insn, operands);

        case 18:
          if (!(
#line 751 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx2DFmode)
       || register_operand (operands[2], VNx2DFmode))) && 
#line 758 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( register_operand (operands[0], VNx2DFmode)
   && register_operand (operands[2], VNx2DFmode))))
            return NULL;
          return gen_split_357 (insn, operands);

        case 19:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32QImode)
       || register_operand (operands[2], VNx32QImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_420 (insn, operands);

        case 20:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16HImode)
       || register_operand (operands[2], VNx16HImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_421 (insn, operands);

        case 21:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8SImode)
       || register_operand (operands[2], VNx8SImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_422 (insn, operands);

        case 22:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4DImode)
       || register_operand (operands[2], VNx4DImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_423 (insn, operands);

        case 23:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16BFmode)
       || register_operand (operands[2], VNx16BFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_424 (insn, operands);

        case 24:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16HFmode)
       || register_operand (operands[2], VNx16HFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_425 (insn, operands);

        case 25:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8SFmode)
       || register_operand (operands[2], VNx8SFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_426 (insn, operands);

        case 26:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx4DFmode)
       || register_operand (operands[2], VNx4DFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_427 (insn, operands);

        case 27:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx48QImode)
       || register_operand (operands[2], VNx48QImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_428 (insn, operands);

        case 28:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24HImode)
       || register_operand (operands[2], VNx24HImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_429 (insn, operands);

        case 29:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx12SImode)
       || register_operand (operands[2], VNx12SImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_430 (insn, operands);

        case 30:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx6DImode)
       || register_operand (operands[2], VNx6DImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_431 (insn, operands);

        case 31:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24BFmode)
       || register_operand (operands[2], VNx24BFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_432 (insn, operands);

        case 32:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx24HFmode)
       || register_operand (operands[2], VNx24HFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_433 (insn, operands);

        case 33:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx12SFmode)
       || register_operand (operands[2], VNx12SFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_434 (insn, operands);

        case 34:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx6DFmode)
       || register_operand (operands[2], VNx6DFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_435 (insn, operands);

        case 35:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx64QImode)
       || register_operand (operands[2], VNx64QImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_436 (insn, operands);

        case 36:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32HImode)
       || register_operand (operands[2], VNx32HImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_437 (insn, operands);

        case 37:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16SImode)
       || register_operand (operands[2], VNx16SImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_438 (insn, operands);

        case 38:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8DImode)
       || register_operand (operands[2], VNx8DImode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_439 (insn, operands);

        case 39:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32BFmode)
       || register_operand (operands[2], VNx32BFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_440 (insn, operands);

        case 40:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx32HFmode)
       || register_operand (operands[2], VNx32HFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_441 (insn, operands);

        case 41:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx16SFmode)
       || register_operand (operands[2], VNx16SFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_442 (insn, operands);

        case 42:
          if (!(
#line 901 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && (register_operand (operands[0], VNx8DFmode)
       || register_operand (operands[2], VNx8DFmode))) && 
#line 905 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_443 (insn, operands);

        default:
          return NULL;
        }

    case SIGN_EXTEND:
      return split_3 (x1, insn);

    case ZERO_EXTEND:
      return split_2 (x1, insn);

    case MULT:
      switch (pattern326 (x2))
        {
        case 0:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_808 (insn, operands);

        case 1:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_813 (insn, operands);

        case 2:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_818 (insn, operands);

        case 3:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_823 (insn, operands);

        case 4:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_828 (insn, operands);

        case 5:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_833 (insn, operands);

        case 6:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_838 (insn, operands);

        case 7:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_843 (insn, operands);

        case 8:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_848 (insn, operands);

        case 9:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_853 (insn, operands);

        default:
          return NULL;
        }

    case SMAX:
      switch (pattern326 (x2))
        {
        case 0:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_809 (insn, operands);

        case 1:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_814 (insn, operands);

        case 2:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_819 (insn, operands);

        case 3:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_824 (insn, operands);

        case 4:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_829 (insn, operands);

        case 5:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_834 (insn, operands);

        case 6:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_839 (insn, operands);

        case 7:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_844 (insn, operands);

        case 8:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_849 (insn, operands);

        case 9:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_854 (insn, operands);

        default:
          return NULL;
        }

    case SMIN:
      switch (pattern326 (x2))
        {
        case 0:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_810 (insn, operands);

        case 1:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_815 (insn, operands);

        case 2:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_820 (insn, operands);

        case 3:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_825 (insn, operands);

        case 4:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_830 (insn, operands);

        case 5:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_835 (insn, operands);

        case 6:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_840 (insn, operands);

        case 7:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_845 (insn, operands);

        case 8:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_850 (insn, operands);

        case 9:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_855 (insn, operands);

        default:
          return NULL;
        }

    case UMAX:
      switch (pattern328 (x2))
        {
        case 0:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_811 (insn, operands);

        case 1:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_816 (insn, operands);

        case 2:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_821 (insn, operands);

        case 3:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_826 (insn, operands);

        case 4:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_831 (insn, operands);

        case 5:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_836 (insn, operands);

        case 6:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_841 (insn, operands);

        case 7:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_846 (insn, operands);

        case 8:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_851 (insn, operands);

        case 9:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_856 (insn, operands);

        default:
          return NULL;
        }

    case UMIN:
      switch (pattern328 (x2))
        {
        case 0:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_812 (insn, operands);

        case 1:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_817 (insn, operands);

        case 2:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_822 (insn, operands);

        case 3:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_827 (insn, operands);

        case 4:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_832 (insn, operands);

        case 5:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_837 (insn, operands);

        case 6:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_842 (insn, operands);

        case 7:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_847 (insn, operands);

        case 8:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_852 (insn, operands);

        case 9:
          if (!(
#line 3677 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3685 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_857 (insn, operands);

        default:
          return NULL;
        }

    case ASHIFT:
      switch (pattern332 (x2))
        {
        case 0:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_1122 (insn, operands);

        case 1:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_1125 (insn, operands);

        case 2:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_1128 (insn, operands);

        case 3:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_1131 (insn, operands);

        case 4:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_1134 (insn, operands);

        case 5:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_1137 (insn, operands);

        case 6:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_1140 (insn, operands);

        case 7:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_1143 (insn, operands);

        case 8:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_1146 (insn, operands);

        case 9:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_1149 (insn, operands);

        default:
          return NULL;
        }

    case ASHIFTRT:
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      switch (pattern436 (x2))
        {
        case 0:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_1123 (insn, operands);

        case 1:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_1126 (insn, operands);

        case 2:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_1129 (insn, operands);

        case 3:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_1132 (insn, operands);

        case 4:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_1135 (insn, operands);

        case 5:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_1138 (insn, operands);

        case 6:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_1141 (insn, operands);

        case 7:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_1144 (insn, operands);

        case 8:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_1147 (insn, operands);

        case 9:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_1150 (insn, operands);

        default:
          return NULL;
        }

    case LSHIFTRT:
      x4 = XVECEXP (x2, 0, 0);
      operands[1] = x4;
      switch (pattern436 (x2))
        {
        case 0:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx16QImode))))
            return NULL;
          return gen_split_1124 (insn, operands);

        case 1:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8QImode))))
            return NULL;
          return gen_split_1127 (insn, operands);

        case 2:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4QImode))))
            return NULL;
          return gen_split_1130 (insn, operands);

        case 3:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2QImode))))
            return NULL;
          return gen_split_1133 (insn, operands);

        case 4:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx8HImode))))
            return NULL;
          return gen_split_1136 (insn, operands);

        case 5:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4HImode))))
            return NULL;
          return gen_split_1139 (insn, operands);

        case 6:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2HImode))))
            return NULL;
          return gen_split_1142 (insn, operands);

        case 7:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx4SImode))))
            return NULL;
          return gen_split_1145 (insn, operands);

        case 8:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2SImode))))
            return NULL;
          return gen_split_1148 (insn, operands);

        case 9:
          if (!(
#line 4607 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4613 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && !register_operand (operands[3], VNx2DImode))))
            return NULL;
          return gen_split_1151 (insn, operands);

        default:
          return NULL;
        }

    case AND:
      switch (pattern334 (x2))
        {
        case 0:
          if (!(
#line 856 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2399 (insn, operands);

        case 1:
          if (!(
#line 856 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2400 (insn, operands);

        case 2:
          if (!(
#line 856 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2401 (insn, operands);

        case 3:
          if (!(
#line 856 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 860 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2402 (insn, operands);

        default:
          return NULL;
        }

    case IOR:
      switch (pattern334 (x2))
        {
        case 0:
          if (!(
#line 878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2403 (insn, operands);

        case 1:
          if (!(
#line 878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2404 (insn, operands);

        case 2:
          if (!(
#line 878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2405 (insn, operands);

        case 3:
          if (!(
#line 878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2406 (insn, operands);

        default:
          return NULL;
        }

    case NOT:
      x5 = XEXP (x3, 0);
      if (GET_CODE (x5) != XOR)
        return NULL;
      switch (pattern434 (x2))
        {
        case 0:
          x6 = XEXP (x5, 1);
          if (rtx_equal_p (x6, operands[1])
              && (
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return gen_split_2407 (insn, operands);
          if (!rtx_equal_p (x6, operands[2])
              || !(
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2408 (insn, operands);

        case 1:
          x6 = XEXP (x5, 1);
          if (rtx_equal_p (x6, operands[1])
              && (
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return gen_split_2409 (insn, operands);
          if (!rtx_equal_p (x6, operands[2])
              || !(
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2410 (insn, operands);

        case 2:
          x6 = XEXP (x5, 1);
          if (rtx_equal_p (x6, operands[1])
              && (
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return gen_split_2411 (insn, operands);
          if (!rtx_equal_p (x6, operands[2])
              || !(
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2412 (insn, operands);

        case 3:
          x6 = XEXP (x5, 1);
          if (rtx_equal_p (x6, operands[1])
              && (
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return gen_split_2413 (insn, operands);
          if (!rtx_equal_p (x6, operands[2])
              || !(
#line 953 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 957 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2414 (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 (pattern671 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_742 (insn, operands);
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_775 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_753 (insn, operands);
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_786 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_764 (insn, operands);
      operands[4] = x4;
      operands[3] = x5;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_797 (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 (pattern893 (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 5952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1469 (insn, operands);
          if (rtx_equal_p (x5, operands[3])
              && (
#line 6006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 6010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1472 (insn, operands);
          operands[5] = x4;
          operands[6] = x10;
          operands[4] = x5;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 6060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1475 (insn, operands);

        case E_VNx4SFmode:
          if (pattern893 (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 5952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1470 (insn, operands);
          if (rtx_equal_p (x5, operands[3])
              && (
#line 6006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 6010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1473 (insn, operands);
          operands[5] = x4;
          operands[6] = x10;
          operands[4] = x5;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 6060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1476 (insn, operands);

        case E_VNx2DFmode:
          if (pattern893 (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 5952 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5956 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1471 (insn, operands);
          if (rtx_equal_p (x5, operands[3])
              && (
#line 6006 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 6010 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!rtx_equal_p (operands[1], operands[4])
       || !rtx_equal_p (operands[1], operands[5])))))
            return gen_split_1474 (insn, operands);
          operands[5] = x4;
          operands[6] = x10;
          operands[4] = x5;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 6060 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1477 (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 (pattern556 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_722 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx16QImode)
          || !(
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_732 (insn, operands);

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_723 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx8QImode)
          || !(
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_733 (insn, operands);

    case 2:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_724 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4QImode)
          || !(
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_734 (insn, operands);

    case 3:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_725 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2QImode)
          || !(
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_735 (insn, operands);

    case 4:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_726 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx8HImode)
          || !(
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_736 (insn, operands);

    case 5:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_727 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4HImode)
          || !(
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_737 (insn, operands);

    case 6:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_728 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2HImode)
          || !(
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_738 (insn, operands);

    case 7:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_729 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx4SImode)
          || !(
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_739 (insn, operands);

    case 8:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_730 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2SImode)
          || !(
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_740 (insn, operands);

    case 9:
      x3 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x3, operands[2])
          && (
#line 3314 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3318 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return gen_split_731 (insn, operands);
      operands[6] = x3;
      if (!aarch64_simd_reg_or_zero (operands[6], E_VNx2DImode)
          || !(
#line 3350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[6])) && 
#line 3355 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_741 (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 (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_752 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_785 (insn, operands);

    case E_VNx4SFmode:
      if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_763 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_796 (insn, operands);

    case E_VNx2DFmode:
      if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_774 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_807 (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 (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_751 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_784 (insn, operands);

    case E_VNx4SFmode:
      if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_762 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_795 (insn, operands);

    case E_VNx2DFmode:
      if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_773 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_806 (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 (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_783 (insn, operands);

    case E_VNx4SFmode:
      if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_761 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_794 (insn, operands);

    case E_VNx2DFmode:
      if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
        return gen_split_772 (insn, operands);
      operands[4] = x6;
      operands[3] = x7;
      if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
          || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_805 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2378 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2386 (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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2394 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2376 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2384 (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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2392 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2374 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2382 (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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2390 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2372 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2380 (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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2388 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2377 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2385 (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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2393 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2375 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2383 (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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2391 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2373 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2381 (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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2389 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 587 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2371 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 612 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2379 (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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2387 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2281 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2322 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2362 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2269 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2312 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2352 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2257 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2302 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2342 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2332 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2280 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2321 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2361 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2268 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2311 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2351 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2256 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2301 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2341 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2244 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2331 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2279 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2320 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2360 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2267 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2310 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2350 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2300 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2340 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2330 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2278 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2319 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2359 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2266 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2309 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2349 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2299 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2339 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2329 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2277 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2318 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2358 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2265 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2308 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2348 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2298 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2338 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2328 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2275 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2317 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2357 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2263 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2307 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2347 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2297 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2337 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2327 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2274 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2316 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2356 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2262 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2306 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2346 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2250 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2336 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2238 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2326 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2273 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2315 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2355 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2261 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2305 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2345 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2335 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2325 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2272 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2314 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2354 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2260 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2304 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2344 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2334 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2324 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2271 (insn, operands);
  if (rtx_equal_p (x5, operands[3])
      && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
    return gen_split_2313 (insn, operands);
  operands[5] = x4;
  operands[4] = x5;
  if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
      || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
    return NULL;
  return gen_split_2353 (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 (pattern758 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1279 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1321 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1348 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1288 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1330 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1357 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1297 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1339 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1366 (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 5750 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5754 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1457 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5794 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1460 (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 5750 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5754 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1458 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5794 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1461 (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 5750 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5754 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1459 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5794 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5799 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1462 (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 (pattern712 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1375 (insn, operands);

            case E_VNx4SFmode:
              if (pattern712 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1384 (insn, operands);

            case E_VNx2DFmode:
              if (pattern712 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1393 (insn, operands);

            default:
              return NULL;
            }

        case CONST_VECTOR:
        case CONST:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern878 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
                  || !(
#line 5829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5834 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1463 (insn, operands);

            case E_VNx4SFmode:
              if (pattern878 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
                  || !(
#line 5829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5834 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1464 (insn, operands);

            case E_VNx2DFmode:
              if (pattern878 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
                  || !(
#line 5829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[3], operands[4])) && 
#line 5834 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1465 (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 (pattern756 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1277 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1319 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1346 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1286 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1328 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1355 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1295 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1337 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1364 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1302 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1398 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx4SFmode)
              || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1403 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1312 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1408 (insn, operands);

        default:
          return NULL;
        }

    case 1L:
      switch (pattern754 (x2))
        {
        case 0:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1373 (insn, operands);

        case 1:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1382 (insn, operands);

        case 2:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1391 (insn, operands);

        case 3:
          if (pattern877 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
              || !(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1413 (insn, operands);

        case 4:
          if (pattern877 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
              || !(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1418 (insn, operands);

        case 5:
          if (pattern877 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
              || !(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1423 (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 (pattern753 (x2))
        {
        case 0:
          x5 = XVECEXP (x3, 0, 0);
          operands[4] = x5;
          x6 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x6, operands[2])
              && (
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1340 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1280 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1322 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1349 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1289 (insn, operands);
          if (rtx_equal_p (x6, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1331 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1358 (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 5432 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5438 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1427 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1430 (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 5432 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5438 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1428 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1431 (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 5432 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5438 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1429 (insn, operands);
          operands[5] = x5;
          operands[4] = x6;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5480 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5488 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1432 (insn, operands);

        default:
          return NULL;
        }

    case 1L:
      switch (pattern754 (x2))
        {
        case 0:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1367 (insn, operands);

        case 1:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1376 (insn, operands);

        case 2:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1385 (insn, operands);

        case 3:
          if (pattern876 (x2, E_VNx8HFmode, E_VNx8BImode) != 0
              || !(
#line 5518 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1433 (insn, operands);

        case 4:
          if (pattern876 (x2, E_VNx4SFmode, E_VNx4BImode) != 0
              || !(
#line 5518 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1434 (insn, operands);

        case 5:
          if (pattern876 (x2, E_VNx2DFmode, E_VNx2BImode) != 0
              || !(
#line 5518 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5526 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1435 (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 (pattern717 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1276 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1318 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1345 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1285 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1327 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1354 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1294 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1336 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1363 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1301 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1397 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1306 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1402 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1407 (insn, operands);

    case 6:
      if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1372 (insn, operands);

    case 7:
      if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1381 (insn, operands);

    case 8:
      if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1390 (insn, operands);

    case 9:
      if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1412 (insn, operands);

    case 10:
      if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1417 (insn, operands);

    case 11:
      if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1422 (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 (pattern717 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1275 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1317 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1344 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1284 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1326 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1353 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1293 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1335 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1362 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1300 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
          || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1396 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1305 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
          || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1401 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return gen_split_1310 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
          || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1406 (insn, operands);

    case 6:
      if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1371 (insn, operands);

    case 7:
      if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1380 (insn, operands);

    case 8:
      if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1389 (insn, operands);

    case 9:
      if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1411 (insn, operands);

    case 10:
      if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1416 (insn, operands);

    case 11:
      if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1421 (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) != 119)
    return NULL;
  switch (pattern573 (x2))
    {
    case 0:
      x4 = XVECEXP (x3, 0, 0);
      operands[4] = x4;
      x5 = XVECEXP (x2, 0, 2);
      if (rtx_equal_p (x5, operands[2])
          && (
#line 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1222 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1226 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx4QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1230 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx2QImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1234 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1198 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1238 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1202 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1242 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1206 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1246 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1210 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1250 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1214 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1254 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1218 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1258 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1223 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1227 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx4QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1231 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx2QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1235 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1199 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1239 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1203 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1243 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1207 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1247 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1211 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1251 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1215 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1255 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1219 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2726 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1259 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1224 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1228 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx4QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1232 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx2QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1236 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1200 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1240 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1204 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1244 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1208 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1248 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1212 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1252 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1216 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1256 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1220 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2727 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1260 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1225 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1229 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx4QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1233 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx2QImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1237 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1201 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1241 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1205 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1245 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1209 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1249 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1213 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1253 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1217 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1257 (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 4811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4815 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_1221 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !((
#line 4835 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 2728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 4840 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1261 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx16QImode)
          || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
        return NULL;
      return gen_split_2323 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HImode)
          || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
        return NULL;
      return gen_split_2333 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2259 (insn, operands);
      if (rtx_equal_p (x5, operands[3])
          && (
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return gen_split_2303 (insn, operands);
      operands[5] = x4;
      operands[4] = x5;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 431 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( 1)))
        return NULL;
      return gen_split_2343 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2240 (insn, operands);

    case 61:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2252 (insn, operands);

    case 62:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2264 (insn, operands);

    case 63:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2276 (insn, operands);

    case 64:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2363 (insn, operands);

    case 65:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2365 (insn, operands);

    case 66:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2367 (insn, operands);

    case 67:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2369 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2246 (insn, operands);

    case 89:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2258 (insn, operands);

    case 90:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2270 (insn, operands);

    case 91:
      if (!(
#line 381 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 385 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2282 (insn, operands);

    case 92:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2364 (insn, operands);

    case 93:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2366 (insn, operands);

    case 94:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2368 (insn, operands);

    case 95:
      if (!(
#line 475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
        return NULL;
      return gen_split_2370 (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 2195 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2462 (insn, operands);

    case 105:
      if (!(
#line 2195 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 2200 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
        return NULL;
      return gen_split_2463 (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 285:
      return split_6 (x1, insn);

    case 334:
      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) != 374)
        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 (pattern918 (x2))
        {
        case 0:
          if (!(
#line 6107 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6116 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1478 (insn, operands);

        case 1:
          if (!(
#line 6107 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6116 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1479 (insn, operands);

        case 2:
          if (!(
#line 6107 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 6116 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1480 (insn, operands);

        default:
          return NULL;
        }

    case 361:
      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 (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_776 (insn, operands);

        case E_VNx4SFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_754 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_787 (insn, operands);

        case E_VNx2DFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_765 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_798 (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 (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_777 (insn, operands);

        case E_VNx4SFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_755 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_788 (insn, operands);

        case E_VNx2DFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_766 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_799 (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 (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_778 (insn, operands);

        case E_VNx4SFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_756 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_789 (insn, operands);

        case E_VNx2DFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_767 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_800 (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 (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_779 (insn, operands);

        case E_VNx4SFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_757 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_790 (insn, operands);

        case E_VNx2DFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_768 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_801 (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 (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_780 (insn, operands);

        case E_VNx4SFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_758 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_791 (insn, operands);

        case E_VNx2DFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_769 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_802 (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 (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_748 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_781 (insn, operands);

        case E_VNx4SFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_759 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_792 (insn, operands);

        case E_VNx2DFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_770 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_803 (insn, operands);

        default:
          return NULL;
        }

    case 369:
      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 (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_749 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx8HFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_782 (insn, operands);

        case E_VNx4SFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_760 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx4SFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_793 (insn, operands);

        case E_VNx2DFmode:
          if (pattern593 (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 3464 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3468 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[3]))))
            return gen_split_771 (insn, operands);
          operands[4] = x10;
          operands[3] = x9;
          if (!aarch64_simd_reg_or_zero (operands[3], E_VNx2DFmode)
              || !(
#line 3512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[3])) && 
#line 3517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_804 (insn, operands);

        default:
          return NULL;
        }

    case 370:
      return split_9 (x1, insn);

    case 371:
      return split_8 (x1, insn);

    case 373:
      return split_7 (x1, insn);

    case 350:
      switch (pattern560 (x2))
        {
        case 0:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2123 (insn, operands);

        case 1:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2125 (insn, operands);

        case 2:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2127 (insn, operands);

        case 3:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2129 (insn, operands);

        case 4:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2131 (insn, operands);

        case 5:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2133 (insn, operands);

        default:
          return NULL;
        }

    case 351:
      switch (pattern560 (x2))
        {
        case 0:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2124 (insn, operands);

        case 1:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2126 (insn, operands);

        case 2:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2128 (insn, operands);

        case 3:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2130 (insn, operands);

        case 4:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2132 (insn, operands);

        case 5:
          if (!(
#line 9064 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64) && 
#line 9069 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2134 (insn, operands);

        default:
          return NULL;
        }

    case 375:
      switch (pattern563 (x2))
        {
        case 0:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2135 (insn, operands);

        case 1:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2137 (insn, operands);

        case 2:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2141 (insn, operands);

        case 3:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2139 (insn, operands);

        case 4:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2143 (insn, operands);

        case 5:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2145 (insn, operands);

        default:
          return NULL;
        }

    case 376:
      switch (pattern563 (x2))
        {
        case 0:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 16 >= 16) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2136 (insn, operands);

        case 1:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 16) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2138 (insn, operands);

        case 2:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 16) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2142 (insn, operands);

        case 3:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 32 >= 32) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2140 (insn, operands);

        case 4:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 32) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2144 (insn, operands);

        case 5:
          if (!(
#line 9251 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && 64 >= 64) && 
#line 9256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2146 (insn, operands);

        default:
          return NULL;
        }

    case 72:
      switch (pattern566 (x2))
        {
        case 0:
          if (!(
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1763 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2447 (insn, operands);

        case 1:
          if (!(
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1763 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2449 (insn, operands);

        case 2:
          if (!(
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1763 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2451 (insn, operands);

        case 3:
          if (!(
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1786 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2453 (insn, operands);

        case 4:
          if (!(
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1786 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2455 (insn, operands);

        case 5:
          if (!(
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1786 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2457 (insn, operands);

        default:
          return NULL;
        }

    case 96:
      switch (pattern566 (x2))
        {
        case 0:
          if (!(
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1763 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2448 (insn, operands);

        case 1:
          if (!(
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1763 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2450 (insn, operands);

        case 2:
          if (!(
#line 1759 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1763 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2452 (insn, operands);

        case 3:
          if (!(
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1786 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2454 (insn, operands);

        case 4:
          if (!(
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1786 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2456 (insn, operands);

        case 5:
          if (!(
#line 1782 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1786 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[5]))))
            return NULL;
          return gen_split_2458 (insn, operands);

        default:
          return NULL;
        }

    case 416:
      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 (pattern801 (x2, E_VNx4SFmode, E_VNx8HFmode, E_VNx4BImode) != 0
              || !(
#line 1997 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2459 (insn, operands);

        case E_VNx2DFmode:
          if (pattern801 (x2, E_VNx2DFmode, E_VNx4SFmode, E_VNx2BImode) != 0
              || !(
#line 1997 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1999 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2460 (insn, operands);

        default:
          return NULL;
        }

    case 418:
      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 2088 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])) && 
#line 2093 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
        return NULL;
      return gen_split_2461 (insn, operands);

    case 420:
      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 (pattern557 (x2, E_VNx8HImode, E_VNx8HFmode, E_VNx8BImode) != 0
              || !(
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])) && 
#line 2260 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2464 (insn, operands);

        case E_VNx4SImode:
          if (pattern557 (x2, E_VNx4SImode, E_VNx4SFmode, E_VNx4BImode) != 0
              || !(
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])) && 
#line 2260 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2465 (insn, operands);

        case E_VNx2DImode:
          if (pattern557 (x2, E_VNx2DImode, E_VNx2DFmode, E_VNx2BImode) != 0
              || !(
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2 && !rtx_equal_p (operands[2], operands[3])) && 
#line 2260 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return NULL;
          return gen_split_2466 (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 372:
      switch (XWINT (x4, 0))
        {
        case 0L:
          switch (GET_MODE (operands[0]))
            {
            case E_VNx8HFmode:
              if (pattern802 (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 4920 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4924 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
                return gen_split_1262 (insn, operands);
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
                  || !(
#line 4965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1265 (insn, operands);

            case E_VNx4SFmode:
              if (pattern802 (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 4920 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4924 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
                return gen_split_1263 (insn, operands);
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
                  || !(
#line 4965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1266 (insn, operands);

            case E_VNx2DFmode:
              if (pattern802 (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 4920 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4924 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
                return gen_split_1264 (insn, operands);
              operands[5] = x7;
              operands[4] = x8;
              if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
                  || !(
#line 4965 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4971 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1267 (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 (pattern860 (x2, E_VNx8HFmode, E_VNx8HImode, E_VNx8BImode) != 0
                  || !(
#line 5001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5007 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1268 (insn, operands);

            case E_VNx4SFmode:
              if (pattern860 (x2, E_VNx4SFmode, E_VNx4SImode, E_VNx4BImode) != 0
                  || !(
#line 5001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5007 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1269 (insn, operands);

            case E_VNx2DFmode:
              if (pattern860 (x2, E_VNx2DFmode, E_VNx2DImode, E_VNx2BImode) != 0
                  || !(
#line 5001 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5007 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1270 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 335:
      return split_57 (x1, insn);

    case 352:
      switch (pattern713 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1341 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1281 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1323 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1350 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1290 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1332 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1359 (insn, operands);

        case 3:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1368 (insn, operands);

        case 4:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1377 (insn, operands);

        case 5:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1386 (insn, operands);

        default:
          return NULL;
        }

    case 353:
      switch (pattern717 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1273 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1315 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1342 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1282 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1324 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1351 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1291 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1333 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1360 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1298 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1394 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1303 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1399 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1404 (insn, operands);

        case 6:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1369 (insn, operands);

        case 7:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1378 (insn, operands);

        case 8:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1387 (insn, operands);

        case 9:
          if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 10:
          if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1414 (insn, operands);

        case 11:
          if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1419 (insn, operands);

        default:
          return NULL;
        }

    case 354:
      switch (pattern717 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1274 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1316 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1343 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1283 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1325 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1352 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1292 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1334 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1361 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_VNx8HFmode)
              || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1395 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1304 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1400 (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 5173 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5177 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 5331 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5336 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1405 (insn, operands);

        case 6:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1370 (insn, operands);

        case 7:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1379 (insn, operands);

        case 8:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1388 (insn, operands);

        case 9:
          if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1410 (insn, operands);

        case 10:
          if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1415 (insn, operands);

        case 11:
          if (!(
#line 5366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5371 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1420 (insn, operands);

        default:
          return NULL;
        }

    case 355:
      return split_59 (x1, insn);

    case 356:
      return split_58 (x1, insn);

    case 359:
      return split_56 (x1, insn);

    case 360:
      switch (pattern713 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1278 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1320 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1347 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1287 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1329 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1356 (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 5130 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5134 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1296 (insn, operands);
          if (rtx_equal_p (x8, operands[3])
              && (
#line 5216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5220 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1338 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1365 (insn, operands);

        case 3:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1374 (insn, operands);

        case 4:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1383 (insn, operands);

        case 5:
          if (!(
#line 5298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 5307 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1392 (insn, operands);

        default:
          return NULL;
        }

    case 374:
      return split_55 (x1, insn);

    case 336:
      switch (pattern713 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5609 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1436 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1442 (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 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5609 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1438 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1444 (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 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5609 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1440 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1446 (insn, operands);

        case 3:
          if (!(
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5690 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1448 (insn, operands);

        case 4:
          if (!(
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5690 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1450 (insn, operands);

        case 5:
          if (!(
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5690 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1452 (insn, operands);

        default:
          return NULL;
        }

    case 337:
      switch (pattern713 (x2))
        {
        case 0:
          x7 = XVECEXP (x3, 0, 0);
          operands[4] = x7;
          x8 = XVECEXP (x2, 0, 2);
          if (rtx_equal_p (x8, operands[2])
              && (
#line 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5609 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1437 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HFmode)
              || !(
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1443 (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 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5609 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1439 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SFmode)
              || !(
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1445 (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 5605 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5609 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[4]))))
            return gen_split_1441 (insn, operands);
          operands[5] = x7;
          operands[4] = x8;
          if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DFmode)
              || !(
#line 5648 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5654 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1447 (insn, operands);

        case 3:
          if (!(
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5690 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1449 (insn, operands);

        case 4:
          if (!(
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5690 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1451 (insn, operands);

        case 5:
          if (!(
#line 5684 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 5690 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1453 (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 (pattern462 (x2))
    {
    case 0:
      x3 = XVECEXP (x2, 0, 2);
      operands[4] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern463 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_859 (insn, operands);

        case E_VNx8QImode:
          if (pattern463 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_876 (insn, operands);

        case E_VNx4QImode:
          if (pattern463 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_893 (insn, operands);

        case E_VNx2QImode:
          if (pattern463 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_910 (insn, operands);

        case E_VNx8HImode:
          if (pattern463 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_927 (insn, operands);

        case E_VNx4HImode:
          if (pattern463 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_944 (insn, operands);

        case E_VNx2HImode:
          if (pattern463 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_961 (insn, operands);

        case E_VNx4SImode:
          if (pattern463 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_978 (insn, operands);

        case E_VNx2SImode:
          if (pattern463 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_995 (insn, operands);

        case E_VNx2DImode:
          if (pattern463 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1012 (insn, operands);

        default:
          return NULL;
        }

    case 1:
      x3 = XVECEXP (x2, 0, 2);
      operands[5] = x3;
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern803 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1494 (insn, operands);

        case E_VNx8QImode:
          if (pattern803 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1495 (insn, operands);

        case E_VNx4QImode:
          if (pattern803 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1496 (insn, operands);

        case E_VNx2QImode:
          if (pattern803 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1497 (insn, operands);

        case E_VNx8HImode:
          if (pattern803 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1498 (insn, operands);

        case E_VNx4HImode:
          if (pattern803 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1499 (insn, operands);

        case E_VNx2HImode:
          if (pattern803 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1500 (insn, operands);

        case E_VNx4SImode:
          if (pattern803 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1501 (insn, operands);

        case E_VNx2SImode:
          if (pattern803 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1502 (insn, operands);

        case E_VNx2DImode:
          if (pattern803 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 6843 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6854 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1503 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1038 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1058 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1078 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1040 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1060 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1080 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1042 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1062 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1082 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1044 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1064 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1084 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1046 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1066 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1086 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1048 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1068 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1088 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1050 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1070 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1090 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1052 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1072 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1092 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1054 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1074 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1094 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1056 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1076 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1096 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1039 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1059 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx16QImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1079 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1041 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1061 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8QImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1081 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1043 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1063 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4QImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1083 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1045 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1065 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2QImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1085 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1047 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1067 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx8HImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1087 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1049 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1069 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4HImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1089 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1051 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1071 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2HImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1091 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1053 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1073 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx4SImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1093 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1055 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1075 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2SImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1095 (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 4077 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4081 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1057 (insn, operands);
      if (rtx_equal_p (x3, operands[3])
          && (
#line 4108 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4112 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
        return gen_split_1077 (insn, operands);
      operands[5] = x6;
      operands[6] = x8;
      operands[4] = x3;
      if (!aarch64_simd_reg_or_zero (operands[4], E_VNx2DImode)
          || !(
#line 4139 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
        return NULL;
      return gen_split_1097 (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 357:
          switch (pattern761 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1504 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1516 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1528 (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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1508 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1520 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1532 (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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1512 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1524 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1536 (insn, operands);

            case 3:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1540 (insn, operands);

            case 4:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1544 (insn, operands);

            case 5:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1548 (insn, operands);

            default:
              return NULL;
            }

        case 358:
          switch (pattern761 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1505 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1517 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1529 (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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1509 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1521 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1533 (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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1513 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1525 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1537 (insn, operands);

            case 3:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1541 (insn, operands);

            case 4:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1545 (insn, operands);

            case 5:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1549 (insn, operands);

            default:
              return NULL;
            }

        case 362:
          switch (pattern761 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1506 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1518 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1530 (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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1510 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1522 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1534 (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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1514 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1526 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1538 (insn, operands);

            case 3:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1542 (insn, operands);

            case 4:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1546 (insn, operands);

            case 5:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1550 (insn, operands);

            default:
              return NULL;
            }

        case 363:
          switch (pattern761 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[2])
                  && (
#line 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1507 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1519 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1531 (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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1511 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1523 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1535 (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 7082 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7086 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1515 (insn, operands);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7128 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7132 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1527 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1539 (insn, operands);

            case 3:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1543 (insn, operands);

            case 4:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1547 (insn, operands);

            case 5:
              if (!(
#line 7216 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 7227 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1551 (insn, operands);

            default:
              return NULL;
            }

        case 341:
          switch (pattern761 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1552 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1564 (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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1556 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1568 (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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1560 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1572 (insn, operands);

            case 3:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1576 (insn, operands);

            case 4:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1580 (insn, operands);

            case 5:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1584 (insn, operands);

            default:
              return NULL;
            }

        case 342:
          switch (pattern761 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1553 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1565 (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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1557 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1569 (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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1561 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1573 (insn, operands);

            case 3:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1577 (insn, operands);

            case 4:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1581 (insn, operands);

            case 5:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1585 (insn, operands);

            default:
              return NULL;
            }

        case 343:
          switch (pattern761 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1554 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1566 (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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1558 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1570 (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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1562 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1574 (insn, operands);

            case 3:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1578 (insn, operands);

            case 4:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1582 (insn, operands);

            case 5:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1586 (insn, operands);

            default:
              return NULL;
            }

        case 344:
          switch (pattern761 (x2))
            {
            case 0:
              x8 = XVECEXP (x3, 0, 0);
              operands[5] = x8;
              x9 = XVECEXP (x2, 0, 2);
              if (rtx_equal_p (x9, operands[4])
                  && (
#line 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1555 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx8HFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1567 (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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1559 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx4SFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1571 (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 7368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
                return gen_split_1563 (insn, operands);
              operands[6] = x8;
              operands[5] = x9;
              if (!aarch64_simd_reg_or_zero (operands[5], E_VNx2DFmode)
                  || !(
#line 7413 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7419 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_1575 (insn, operands);

            case 3:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1579 (insn, operands);

            case 4:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1583 (insn, operands);

            case 5:
              if (!(
#line 7450 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[4], operands[5])) && 
#line 7456 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1587 (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 (pattern463 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_868 (insn, operands);

        case E_VNx8QImode:
          if (pattern463 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_885 (insn, operands);

        case E_VNx4QImode:
          if (pattern463 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_902 (insn, operands);

        case E_VNx2QImode:
          if (pattern463 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_919 (insn, operands);

        case E_VNx8HImode:
          if (pattern463 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_936 (insn, operands);

        case E_VNx4HImode:
          if (pattern463 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_953 (insn, operands);

        case E_VNx2HImode:
          if (pattern463 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_970 (insn, operands);

        case E_VNx4SImode:
          if (pattern463 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_987 (insn, operands);

        case E_VNx2SImode:
          if (pattern463 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1004 (insn, operands);

        case E_VNx2DImode:
          if (pattern463 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1021 (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 (pattern719 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1112 (insn, operands);

        case E_VNx8QImode:
          if (pattern719 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1113 (insn, operands);

        case E_VNx4QImode:
          if (pattern719 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1114 (insn, operands);

        case E_VNx2QImode:
          if (pattern719 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1115 (insn, operands);

        case E_VNx8HImode:
          if (pattern719 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1116 (insn, operands);

        case E_VNx4HImode:
          if (pattern719 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1117 (insn, operands);

        case E_VNx2HImode:
          if (pattern719 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1118 (insn, operands);

        case E_VNx4SImode:
          if (pattern719 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1119 (insn, operands);

        case E_VNx2SImode:
          if (pattern719 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1120 (insn, operands);

        case E_VNx2DImode:
          if (pattern719 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 4525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1121 (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 (pattern463 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_865 (insn, operands);

        case E_VNx8QImode:
          if (pattern463 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_882 (insn, operands);

        case E_VNx4QImode:
          if (pattern463 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_899 (insn, operands);

        case E_VNx2QImode:
          if (pattern463 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_916 (insn, operands);

        case E_VNx8HImode:
          if (pattern463 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_933 (insn, operands);

        case E_VNx4HImode:
          if (pattern463 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_950 (insn, operands);

        case E_VNx2HImode:
          if (pattern463 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_967 (insn, operands);

        case E_VNx4SImode:
          if (pattern463 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_984 (insn, operands);

        case E_VNx2SImode:
          if (pattern463 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1001 (insn, operands);

        case E_VNx2DImode:
          if (pattern463 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1018 (insn, operands);

        default:
          return NULL;
        }

    case CONST_VECTOR:
    case CONST:
      switch (GET_MODE (operands[0]))
        {
        case E_VNx16QImode:
          if (pattern718 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1152 (insn, operands);

        case E_VNx8QImode:
          if (pattern718 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1155 (insn, operands);

        case E_VNx4QImode:
          if (pattern718 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1158 (insn, operands);

        case E_VNx2QImode:
          if (pattern718 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1161 (insn, operands);

        case E_VNx8HImode:
          if (pattern718 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1164 (insn, operands);

        case E_VNx4HImode:
          if (pattern718 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1167 (insn, operands);

        case E_VNx2HImode:
          if (pattern718 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1170 (insn, operands);

        case E_VNx4SImode:
          if (pattern718 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1173 (insn, operands);

        case E_VNx2SImode:
          if (pattern718 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1176 (insn, operands);

        case E_VNx2DImode:
          if (pattern718 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1179 (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 (pattern464 (x2))
        {
        case 0:
          if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_858 (insn, operands);

        case 1:
          if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_875 (insn, operands);

        case 2:
          if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_892 (insn, operands);

        case 3:
          if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_909 (insn, operands);

        case 4:
          if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_926 (insn, operands);

        case 5:
          if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_943 (insn, operands);

        case 6:
          if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_960 (insn, operands);

        case 7:
          if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_977 (insn, operands);

        case 8:
          if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_994 (insn, operands);

        case 9:
          if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1011 (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 (pattern762 (x2, E_VNx16QImode, E_VNx16BImode) != 0
              || !(
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1484 (insn, operands);

        case E_VNx8QImode:
          if (pattern762 (x2, E_VNx8QImode, E_VNx8BImode) != 0
              || !(
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1485 (insn, operands);

        case E_VNx4QImode:
          if (pattern762 (x2, E_VNx4QImode, E_VNx4BImode) != 0
              || !(
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1486 (insn, operands);

        case E_VNx2QImode:
          if (pattern762 (x2, E_VNx2QImode, E_VNx2BImode) != 0
              || !(
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1487 (insn, operands);

        case E_VNx8HImode:
          if (pattern762 (x2, E_VNx8HImode, E_VNx8BImode) != 0
              || !(
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1488 (insn, operands);

        case E_VNx4HImode:
          if (pattern762 (x2, E_VNx4HImode, E_VNx4BImode) != 0
              || !(
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1489 (insn, operands);

        case E_VNx2HImode:
          if (pattern762 (x2, E_VNx2HImode, E_VNx2BImode) != 0
              || !(
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1490 (insn, operands);

        case E_VNx4SImode:
          if (pattern762 (x2, E_VNx4SImode, E_VNx4BImode) != 0
              || !(
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1491 (insn, operands);

        case E_VNx2SImode:
          if (pattern762 (x2, E_VNx2SImode, E_VNx2BImode) != 0
              || !(
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1492 (insn, operands);

        case E_VNx2DImode:
          if (pattern762 (x2, E_VNx2DImode, E_VNx2BImode) != 0
              || !(
#line 6701 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 6712 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1493 (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 285:
      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 (pattern464 (x3))
            {
            case 0:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_860 (insn, operands);

            case 1:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_877 (insn, operands);

            case 2:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_894 (insn, operands);

            case 3:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_911 (insn, operands);

            case 4:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_928 (insn, operands);

            case 5:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_945 (insn, operands);

            case 6:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_962 (insn, operands);

            case 7:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_979 (insn, operands);

            case 8:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_996 (insn, operands);

            case 9:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1013 (insn, operands);

            default:
              return NULL;
            }

        case SMAX:
          switch (pattern464 (x3))
            {
            case 0:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_861 (insn, operands);

            case 1:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_878 (insn, operands);

            case 2:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_895 (insn, operands);

            case 3:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_912 (insn, operands);

            case 4:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_929 (insn, operands);

            case 5:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_946 (insn, operands);

            case 6:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_963 (insn, operands);

            case 7:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_980 (insn, operands);

            case 8:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_997 (insn, operands);

            case 9:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1014 (insn, operands);

            default:
              return NULL;
            }

        case UMAX:
          switch (pattern464 (x3))
            {
            case 0:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_862 (insn, operands);

            case 1:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_879 (insn, operands);

            case 2:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_896 (insn, operands);

            case 3:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_913 (insn, operands);

            case 4:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_930 (insn, operands);

            case 5:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_947 (insn, operands);

            case 6:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_964 (insn, operands);

            case 7:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_981 (insn, operands);

            case 8:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_998 (insn, operands);

            case 9:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1015 (insn, operands);

            default:
              return NULL;
            }

        case SMIN:
          switch (pattern464 (x3))
            {
            case 0:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_863 (insn, operands);

            case 1:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_880 (insn, operands);

            case 2:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_897 (insn, operands);

            case 3:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_914 (insn, operands);

            case 4:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_931 (insn, operands);

            case 5:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_948 (insn, operands);

            case 6:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_965 (insn, operands);

            case 7:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_982 (insn, operands);

            case 8:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_999 (insn, operands);

            case 9:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1016 (insn, operands);

            default:
              return NULL;
            }

        case UMIN:
          switch (pattern464 (x3))
            {
            case 0:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_864 (insn, operands);

            case 1:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_881 (insn, operands);

            case 2:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_898 (insn, operands);

            case 3:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_915 (insn, operands);

            case 4:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_932 (insn, operands);

            case 5:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_949 (insn, operands);

            case 6:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_966 (insn, operands);

            case 7:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_983 (insn, operands);

            case 8:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1000 (insn, operands);

            case 9:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1017 (insn, operands);

            default:
              return NULL;
            }

        case ASHIFT:
          return split_66 (x1, insn);

        case ASHIFTRT:
          switch (pattern466 (x3))
            {
            case 0:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_866 (insn, operands);

            case 1:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_883 (insn, operands);

            case 2:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_900 (insn, operands);

            case 3:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_917 (insn, operands);

            case 4:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_934 (insn, operands);

            case 5:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_951 (insn, operands);

            case 6:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_968 (insn, operands);

            case 7:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_985 (insn, operands);

            case 8:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1002 (insn, operands);

            case 9:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1019 (insn, operands);

            case 10:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1153 (insn, operands);

            case 11:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1156 (insn, operands);

            case 12:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1159 (insn, operands);

            case 13:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1162 (insn, operands);

            case 14:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1165 (insn, operands);

            case 15:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1168 (insn, operands);

            case 16:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1171 (insn, operands);

            case 17:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1174 (insn, operands);

            case 18:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1177 (insn, operands);

            case 19:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1180 (insn, operands);

            default:
              return NULL;
            }

        case LSHIFTRT:
          switch (pattern466 (x3))
            {
            case 0:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_867 (insn, operands);

            case 1:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_884 (insn, operands);

            case 2:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_901 (insn, operands);

            case 3:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_918 (insn, operands);

            case 4:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_935 (insn, operands);

            case 5:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_952 (insn, operands);

            case 6:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_969 (insn, operands);

            case 7:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_986 (insn, operands);

            case 8:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1003 (insn, operands);

            case 9:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1020 (insn, operands);

            case 10:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1154 (insn, operands);

            case 11:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1157 (insn, operands);

            case 12:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1160 (insn, operands);

            case 13:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1163 (insn, operands);

            case 14:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1166 (insn, operands);

            case 15:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1169 (insn, operands);

            case 16:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1172 (insn, operands);

            case 17:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1175 (insn, operands);

            case 18:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1178 (insn, operands);

            case 19:
              if (!(
#line 4659 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !rtx_equal_p (operands[2], operands[4])) && 
#line 4664 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1181 (insn, operands);

            default:
              return NULL;
            }

        case AND:
          return split_65 (x1, insn);

        case IOR:
          switch (pattern464 (x3))
            {
            case 0:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_869 (insn, operands);

            case 1:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_886 (insn, operands);

            case 2:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_903 (insn, operands);

            case 3:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_920 (insn, operands);

            case 4:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_937 (insn, operands);

            case 5:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_954 (insn, operands);

            case 6:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_971 (insn, operands);

            case 7:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_988 (insn, operands);

            case 8:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1005 (insn, operands);

            case 9:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1022 (insn, operands);

            default:
              return NULL;
            }

        case XOR:
          switch (pattern464 (x3))
            {
            case 0:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_870 (insn, operands);

            case 1:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_887 (insn, operands);

            case 2:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_904 (insn, operands);

            case 3:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_921 (insn, operands);

            case 4:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_938 (insn, operands);

            case 5:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_955 (insn, operands);

            case 6:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_972 (insn, operands);

            case 7:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_989 (insn, operands);

            case 8:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1006 (insn, operands);

            case 9:
              if (!(
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1023 (insn, operands);

            default:
              return NULL;
            }

        case SS_PLUS:
          switch (pattern464 (x3))
            {
            case 0:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_871 (insn, operands);

            case 1:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_888 (insn, operands);

            case 2:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_905 (insn, operands);

            case 3:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_922 (insn, operands);

            case 4:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_939 (insn, operands);

            case 5:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_956 (insn, operands);

            case 6:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_973 (insn, operands);

            case 7:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_990 (insn, operands);

            case 8:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1007 (insn, operands);

            case 9:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2253 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1024 (insn, operands);

            default:
              return NULL;
            }

        case US_PLUS:
          switch (pattern464 (x3))
            {
            case 0:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_872 (insn, operands);

            case 1:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_889 (insn, operands);

            case 2:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_906 (insn, operands);

            case 3:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_923 (insn, operands);

            case 4:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_940 (insn, operands);

            case 5:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_957 (insn, operands);

            case 6:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_974 (insn, operands);

            case 7:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_991 (insn, operands);

            case 8:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1008 (insn, operands);

            case 9:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2254 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1025 (insn, operands);

            default:
              return NULL;
            }

        case SS_MINUS:
          switch (pattern464 (x3))
            {
            case 0:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_873 (insn, operands);

            case 1:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_890 (insn, operands);

            case 2:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_907 (insn, operands);

            case 3:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_924 (insn, operands);

            case 4:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_941 (insn, operands);

            case 5:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_958 (insn, operands);

            case 6:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_975 (insn, operands);

            case 7:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_992 (insn, operands);

            case 8:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1009 (insn, operands);

            case 9:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2255 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1026 (insn, operands);

            default:
              return NULL;
            }

        case US_MINUS:
          switch (pattern464 (x3))
            {
            case 0:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_874 (insn, operands);

            case 1:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_891 (insn, operands);

            case 2:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_908 (insn, operands);

            case 3:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_925 (insn, operands);

            case 4:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_942 (insn, operands);

            case 5:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_959 (insn, operands);

            case 6:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_976 (insn, operands);

            case 7:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_993 (insn, operands);

            case 8:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1010 (insn, operands);

            case 9:
              if (!((
#line 3765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 2256 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 3774 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1027 (insn, operands);

            default:
              return NULL;
            }

        case DIV:
          switch (pattern467 (x3))
            {
            case 0:
              if (!(
#line 4398 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4407 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1098 (insn, operands);

            case 1:
              if (!(
#line 4398 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4407 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1100 (insn, operands);

            default:
              return NULL;
            }

        case UDIV:
          switch (pattern467 (x3))
            {
            case 0:
              if (!(
#line 4398 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4407 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1099 (insn, operands);

            case 1:
              if (!(
#line 4398 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && !rtx_equal_p (operands[2], operands[4])
   && !rtx_equal_p (operands[3], operands[4])) && 
#line 4407 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1101 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 334:
      x6 = XVECEXP (x3, 0, 2);
      if (GET_CODE (x6) != UNSPEC
          || XVECLEN (x6, 0) != 4
          || XINT (x6, 1) != 374)
        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 (pattern861 (x3, E_VNx8HFmode, E_VNx8BImode) != 0
              || !(
#line 5882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5886 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
            return NULL;
          return gen_split_1466 (insn, operands);

        case E_VNx4SFmode:
          if (pattern861 (x3, E_VNx4SFmode, E_VNx4BImode) != 0
              || !(
#line 5882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5886 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
            return NULL;
          return gen_split_1467 (insn, operands);

        case E_VNx2DFmode:
          if (pattern861 (x3, E_VNx2DFmode, E_VNx2BImode) != 0
              || !(
#line 5882 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5886 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[1], operands[5]))))
            return NULL;
          return gen_split_1468 (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) != 119
      || 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 114:
      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 (pattern921 (x2))
        {
        case 0:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_532 (insn, operands);

        case 1:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_534 (insn, operands);

        case 2:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_536 (insn, operands);

        case 3:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_538 (insn, operands);

        case 4:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_540 (insn, operands);

        case 5:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_542 (insn, operands);

        case 6:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_544 (insn, operands);

        case 7:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_546 (insn, operands);

        case 8:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_548 (insn, operands);

        case 9:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_549 (insn, operands);

        case 10:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_550 (insn, operands);

        case 11:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_551 (insn, operands);

        case 12:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_552 (insn, operands);

        case 13:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_553 (insn, operands);

        case 14:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_554 (insn, operands);

        case 15:
          if (!(
#line 1502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1506 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_555 (insn, operands);

        case 16:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_533 (insn, operands);

        case 17:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_535 (insn, operands);

        case 18:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_537 (insn, operands);

        case 19:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_539 (insn, operands);

        case 20:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_541 (insn, operands);

        case 21:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_543 (insn, operands);

        case 22:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_545 (insn, operands);

        case 23:
          if (!(
#line 1475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1479 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_547 (insn, operands);

        default:
          return NULL;
        }

    case 117:
      if (pattern335 (x1) != 0)
        return NULL;
      switch (pattern922 (x2))
        {
        case 0:
          if (register_operand (operands[4], E_VNx2QImode)
              && aarch64_gather_scale_operand_b (operands[3], E_DImode)
              && (
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern930 ())
                {
                case 0:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_652 (insn, operands);
                  break;

                case 1:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_654 (insn, operands);
                  break;

                case 2:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_656 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_658 (insn, operands);
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && (
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_660 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_662 (insn, operands);

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !(
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_664 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return gen_split_666 (insn, operands);
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern930 ())
                {
                case 0:
                  if ((
#line 2335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_667 (insn, operands);
                  break;

                case 1:
                  if ((
#line 2335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_668 (insn, operands);
                  break;

                case 2:
                  if ((
#line 2335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_669 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_670 (insn, operands);
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && (
#line 2335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_671 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_672 (insn, operands);

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !(
#line 2335 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2339 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_673 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[5], operands[6]))))
                return gen_split_674 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[5], operands[6]))))
                return gen_split_675 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2439 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[5], operands[6]))))
            return NULL;
          return gen_split_676 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return gen_split_651 (insn, operands);
          if (aarch64_gather_scale_operand_h (operands[3], E_DImode))
            {
              switch (pattern930 ())
                {
                case 0:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_653 (insn, operands);
                  break;

                case 1:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_655 (insn, operands);
                  break;

                case 2:
                  if ((
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_657 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_659 (insn, operands);
                  break;

                case E_VNx2SFmode:
                  if (register_operand (operands[4], E_VNx2SFmode)
                      && (
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                    return gen_split_661 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_663 (insn, operands);

            case E_VNx2DFmode:
              if (!register_operand (operands[4], E_VNx2DFmode)
                  || !(
#line 2308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2312 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
                return NULL;
              return gen_split_665 (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 259:
          switch (pattern207 (x2))
            {
            case 0:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_157 (insn, operands);

            case 1:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_158 (insn, operands);

            case 2:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_159 (insn, operands);

            case 3:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_160 (insn, operands);

            case 4:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_161 (insn, operands);

            case 5:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_162 (insn, operands);

            case 6:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_163 (insn, operands);

            case 7:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_164 (insn, operands);

            case 8:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_165 (insn, operands);

            case 9:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_166 (insn, operands);

            case 10:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_167 (insn, operands);

            case 11:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_168 (insn, operands);

            case 12:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_169 (insn, operands);

            case 13:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_170 (insn, operands);

            case 14:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_171 (insn, operands);

            case 15:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_172 (insn, operands);

            case 16:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_173 (insn, operands);

            case 17:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_174 (insn, operands);

            case 18:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_175 (insn, operands);

            case 19:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_176 (insn, operands);

            case 20:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_177 (insn, operands);

            case 21:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_178 (insn, operands);

            case 22:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_179 (insn, operands);

            case 23:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_180 (insn, operands);

            case 24:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_181 (insn, operands);

            case 25:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_182 (insn, operands);

            case 26:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_183 (insn, operands);

            case 27:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_184 (insn, operands);

            case 28:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_185 (insn, operands);

            case 29:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_186 (insn, operands);

            case 30:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_187 (insn, operands);

            case 31:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_188 (insn, operands);

            case 32:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_189 (insn, operands);

            case 33:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_190 (insn, operands);

            case 34:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_191 (insn, operands);

            case 35:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_192 (insn, operands);

            case 36:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_193 (insn, operands);

            case 37:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_194 (insn, operands);

            case 38:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_195 (insn, operands);

            case 39:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_196 (insn, operands);

            case 40:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_197 (insn, operands);

            case 41:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_198 (insn, operands);

            case 42:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_199 (insn, operands);

            case 43:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_200 (insn, operands);

            case 44:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_201 (insn, operands);

            case 45:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_202 (insn, operands);

            case 46:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_203 (insn, operands);

            case 47:
              if (!(
#line 7102 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7104 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_204 (insn, operands);

            default:
              return NULL;
            }

        case 232:
          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 7829 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 7831 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
            return NULL;
          return gen_split_257 (insn, operands);

        case 119:
          return split_4 (x1, insn);

        case 144:
          switch (pattern208 (x2))
            {
            case 0:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_358 (insn, operands);

            case 1:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_359 (insn, operands);

            case 2:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_360 (insn, operands);

            case 3:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_361 (insn, operands);

            case 4:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_362 (insn, operands);

            case 5:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_363 (insn, operands);

            case 6:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_364 (insn, operands);

            case 7:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_365 (insn, operands);

            case 8:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_366 (insn, operands);

            case 9:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_367 (insn, operands);

            case 10:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_368 (insn, operands);

            case 11:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_369 (insn, operands);

            case 12:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_370 (insn, operands);

            case 13:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_371 (insn, operands);

            case 14:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_372 (insn, operands);

            case 15:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_373 (insn, operands);

            case 16:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_374 (insn, operands);

            case 17:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_375 (insn, operands);

            case 18:
              if (!(
#line 773 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && BYTES_BIG_ENDIAN) && 
#line 775 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_376 (insn, operands);

            default:
              return NULL;
            }

        case 284:
          if (GET_MODE (x2) != E_VNx2DImode)
            return NULL;
          x5 = XVECEXP (x2, 0, 1);
          if (GET_CODE (x5) != UNSPEC
              || pattern437 (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 3873 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3875 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_1028 (insn, operands);

        default:
          return NULL;
        }

    case 1:
      if (XINT (x2, 1) != 145)
        return NULL;
      switch (pattern145 (x1))
        {
        case 0:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_377 (insn, operands);

        case 1:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_378 (insn, operands);

        case 2:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_379 (insn, operands);

        case 3:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_380 (insn, operands);

        case 4:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_381 (insn, operands);

        case 5:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_382 (insn, operands);

        case 6:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_383 (insn, operands);

        case 7:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_384 (insn, operands);

        case 8:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_385 (insn, operands);

        case 9:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_386 (insn, operands);

        case 10:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_387 (insn, operands);

        case 11:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_388 (insn, operands);

        case 12:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_389 (insn, operands);

        case 13:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_390 (insn, operands);

        case 14:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_391 (insn, operands);

        case 15:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_392 (insn, operands);

        case 16:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_393 (insn, operands);

        case 17:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_394 (insn, operands);

        case 18:
          if (!(
#line 809 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 811 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_395 (insn, operands);

        default:
          return NULL;
        }

    case 6:
      return split_69 (x1, insn);

    case 7:
      if (XINT (x2, 1) != 115)
        return NULL;
      x10 = XVECEXP (x2, 0, 2);
      if (GET_CODE (x10) != UNSPEC
          || pattern291 (x10) != 0
          || pattern159 (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 (pattern951 (x2))
        {
        case 0:
          if (!(
#line 1761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_622 (insn, operands);

        case 1:
          if (!(
#line 1761 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1765 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[6]))))
            return NULL;
          return gen_split_623 (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 335:
          switch (pattern441 (x2))
            {
            case 0:
              if (!(
#line 5399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1424 (insn, operands);

            case 1:
              if (!(
#line 5399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1425 (insn, operands);

            case 2:
              if (!(
#line 5399 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5410 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1426 (insn, operands);

            default:
              return NULL;
            }

        case 374:
          switch (pattern443 (x2))
            {
            case 0:
              if (!(
#line 5718 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1454 (insn, operands);

            case 1:
              if (!(
#line 5718 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1455 (insn, operands);

            case 2:
              if (!(
#line 5718 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 5728 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1456 (insn, operands);

            default:
              return NULL;
            }

        case 359:
          switch (pattern445 (x2))
            {
            case 0:
              if (!(
#line 6143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 6152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1481 (insn, operands);

            case 1:
              if (!(
#line 6143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 6152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1482 (insn, operands);

            case 2:
              if (!(
#line 6143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 6152 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_1483 (insn, operands);

            default:
              return NULL;
            }

        case 339:
          switch (pattern469 (x2))
            {
            case 0:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2111 (insn, operands);

            case 1:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2115 (insn, operands);

            case 2:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2119 (insn, operands);

            default:
              return NULL;
            }

        case 340:
          switch (pattern469 (x2))
            {
            case 0:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2112 (insn, operands);

            case 1:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2116 (insn, operands);

            case 2:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2120 (insn, operands);

            default:
              return NULL;
            }

        case 345:
          switch (pattern469 (x2))
            {
            case 0:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2113 (insn, operands);

            case 1:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2117 (insn, operands);

            case 2:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2121 (insn, operands);

            default:
              return NULL;
            }

        case 346:
          switch (pattern469 (x2))
            {
            case 0:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2114 (insn, operands);

            case 1:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2118 (insn, operands);

            case 2:
              if (!(
#line 8366 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8368 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_2122 (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;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 0);
  operands[0] = x2;
  x3 = XEXP (x1, 1);
  operands[1] = x3;
  switch (GET_CODE (operands[1]))
    {
    case CONST_INT:
    case CONST_WIDE_INT:
    case CONST_POLY_INT:
    case CONST_VECTOR:
    case CONST:
    case REG:
    case SUBREG:
    case MEM:
    case LABEL_REF:
    case SYMBOL_REF:
    case HIGH:
      res = split_1 (x1, insn);
      if (res != NULL_RTX)
        return res;
      break;

    case CONST_DOUBLE:
      switch (GET_MODE (operands[0]))
        {
        case E_HFmode:
          if (nonimmediate_operand (operands[0], E_HFmode)
              && const_double_operand (operands[1], E_HFmode)
              && 
#line 1572 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_zero_rtx_p (operands[1])
   &&  aarch64_float_const_rtx_p (operands[1])))
            return gen_split_12 (insn, operands);
          break;

        case E_SFmode:
          if (nonimmediate_operand (operands[0], E_SFmode)
              && const_double_operand (operands[1], E_SFmode)
              && 
#line 1572 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_zero_rtx_p (operands[1])
   &&  aarch64_float_const_rtx_p (operands[1])))
            return gen_split_13 (insn, operands);
          break;

        case E_DFmode:
          if (nonimmediate_operand (operands[0], E_DFmode)
              && const_double_operand (operands[1], E_DFmode)
              && 
#line 1572 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_zero_rtx_p (operands[1])
   &&  aarch64_float_const_rtx_p (operands[1])))
            return gen_split_14 (insn, operands);
          break;

        default:
          break;
        }
      break;

    default:
      break;
    }
  switch (GET_MODE (operands[0]))
    {
    case E_TDmode:
      if (register_operand (operands[0], E_TDmode)
          && nonmemory_operand (operands[1], E_TDmode)
          && 
#line 1618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(reload_completed && aarch64_split_128bit_move_p (operands[0], operands[1])))
        return gen_split_15 (insn, operands);
      break;

    case E_TFmode:
      if (register_operand (operands[0], E_TFmode)
          && nonmemory_operand (operands[1], E_TFmode)
          && 
#line 1618 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(reload_completed && aarch64_split_128bit_move_p (operands[0], operands[1])))
        return gen_split_16 (insn, operands);
      break;

    default:
      break;
    }
  switch (GET_MODE (operands[0]))
    {
    case E_V3x8QImode:
      if (!nonimmediate_operand (operands[0], E_V3x8QImode)
          || !general_operand (operands[1], E_V3x8QImode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_222 (insn, operands);

    case E_V3x4HImode:
      if (!nonimmediate_operand (operands[0], E_V3x4HImode)
          || !general_operand (operands[1], E_V3x4HImode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_223 (insn, operands);

    case E_V3x2SImode:
      if (!nonimmediate_operand (operands[0], E_V3x2SImode)
          || !general_operand (operands[1], E_V3x2SImode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_224 (insn, operands);

    case E_V3x1DImode:
      if (!nonimmediate_operand (operands[0], E_V3x1DImode)
          || !general_operand (operands[1], E_V3x1DImode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_225 (insn, operands);

    case E_V3x4HFmode:
      if (!nonimmediate_operand (operands[0], E_V3x4HFmode)
          || !general_operand (operands[1], E_V3x4HFmode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_226 (insn, operands);

    case E_V3x2SFmode:
      if (!nonimmediate_operand (operands[0], E_V3x2SFmode)
          || !general_operand (operands[1], E_V3x2SFmode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_227 (insn, operands);

    case E_V3x1DFmode:
      if (!nonimmediate_operand (operands[0], E_V3x1DFmode)
          || !general_operand (operands[1], E_V3x1DFmode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_228 (insn, operands);

    case E_V3x4BFmode:
      if (!nonimmediate_operand (operands[0], E_V3x4BFmode)
          || !general_operand (operands[1], E_V3x4BFmode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_229 (insn, operands);

    case E_V3x16QImode:
      if (!nonimmediate_operand (operands[0], E_V3x16QImode)
          || !general_operand (operands[1], E_V3x16QImode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_230 (insn, operands);

    case E_V3x8HImode:
      if (!nonimmediate_operand (operands[0], E_V3x8HImode)
          || !general_operand (operands[1], E_V3x8HImode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_231 (insn, operands);

    case E_V3x4SImode:
      if (!nonimmediate_operand (operands[0], E_V3x4SImode)
          || !general_operand (operands[1], E_V3x4SImode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_232 (insn, operands);

    case E_V3x2DImode:
      if (!nonimmediate_operand (operands[0], E_V3x2DImode)
          || !general_operand (operands[1], E_V3x2DImode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_233 (insn, operands);

    case E_V3x8HFmode:
      if (!nonimmediate_operand (operands[0], E_V3x8HFmode)
          || !general_operand (operands[1], E_V3x8HFmode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_234 (insn, operands);

    case E_V3x4SFmode:
      if (!nonimmediate_operand (operands[0], E_V3x4SFmode)
          || !general_operand (operands[1], E_V3x4SFmode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_235 (insn, operands);

    case E_V3x2DFmode:
      if (!nonimmediate_operand (operands[0], E_V3x2DFmode)
          || !general_operand (operands[1], E_V3x2DFmode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_236 (insn, operands);

    case E_V3x8BFmode:
      if (!nonimmediate_operand (operands[0], E_V3x8BFmode)
          || !general_operand (operands[1], E_V3x8BFmode)
          || !
#line 7437 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_237 (insn, operands);

    case E_CImode:
      if (!nonimmediate_operand (operands[0], E_CImode)
          || !general_operand (operands[1], E_CImode)
          || !
#line 7473 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_238 (insn, operands);

    case E_V4x8QImode:
      if (!nonimmediate_operand (operands[0], E_V4x8QImode)
          || !general_operand (operands[1], E_V4x8QImode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_239 (insn, operands);

    case E_V4x4HImode:
      if (!nonimmediate_operand (operands[0], E_V4x4HImode)
          || !general_operand (operands[1], E_V4x4HImode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_240 (insn, operands);

    case E_V4x2SImode:
      if (!nonimmediate_operand (operands[0], E_V4x2SImode)
          || !general_operand (operands[1], E_V4x2SImode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_241 (insn, operands);

    case E_V4x1DImode:
      if (!nonimmediate_operand (operands[0], E_V4x1DImode)
          || !general_operand (operands[1], E_V4x1DImode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_242 (insn, operands);

    case E_V4x4HFmode:
      if (!nonimmediate_operand (operands[0], E_V4x4HFmode)
          || !general_operand (operands[1], E_V4x4HFmode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_243 (insn, operands);

    case E_V4x2SFmode:
      if (!nonimmediate_operand (operands[0], E_V4x2SFmode)
          || !general_operand (operands[1], E_V4x2SFmode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_244 (insn, operands);

    case E_V4x1DFmode:
      if (!nonimmediate_operand (operands[0], E_V4x1DFmode)
          || !general_operand (operands[1], E_V4x1DFmode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_245 (insn, operands);

    case E_V4x4BFmode:
      if (!nonimmediate_operand (operands[0], E_V4x4BFmode)
          || !general_operand (operands[1], E_V4x4BFmode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_246 (insn, operands);

    case E_V4x16QImode:
      if (!nonimmediate_operand (operands[0], E_V4x16QImode)
          || !general_operand (operands[1], E_V4x16QImode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_247 (insn, operands);

    case E_V4x8HImode:
      if (!nonimmediate_operand (operands[0], E_V4x8HImode)
          || !general_operand (operands[1], E_V4x8HImode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_248 (insn, operands);

    case E_V4x4SImode:
      if (!nonimmediate_operand (operands[0], E_V4x4SImode)
          || !general_operand (operands[1], E_V4x4SImode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_249 (insn, operands);

    case E_V4x2DImode:
      if (!nonimmediate_operand (operands[0], E_V4x2DImode)
          || !general_operand (operands[1], E_V4x2DImode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_250 (insn, operands);

    case E_V4x8HFmode:
      if (!nonimmediate_operand (operands[0], E_V4x8HFmode)
          || !general_operand (operands[1], E_V4x8HFmode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_251 (insn, operands);

    case E_V4x4SFmode:
      if (!nonimmediate_operand (operands[0], E_V4x4SFmode)
          || !general_operand (operands[1], E_V4x4SFmode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_252 (insn, operands);

    case E_V4x2DFmode:
      if (!nonimmediate_operand (operands[0], E_V4x2DFmode)
          || !general_operand (operands[1], E_V4x2DFmode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_253 (insn, operands);

    case E_V4x8BFmode:
      if (!nonimmediate_operand (operands[0], E_V4x8BFmode)
          || !general_operand (operands[1], E_V4x8BFmode)
          || !
#line 7501 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_254 (insn, operands);

    case E_XImode:
      if (!nonimmediate_operand (operands[0], E_XImode)
          || !general_operand (operands[1], E_XImode)
          || !
#line 7531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_FLOAT && reload_completed))
        return NULL;
      return gen_split_255 (insn, operands);

    case E_V8DImode:
      if (!nonimmediate_operand (operands[0], E_V8DImode)
          || !general_operand (operands[1], E_V8DImode)
          || !
#line 7555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(reload_completed))
        return NULL;
      return gen_split_256 (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;
  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 (pattern458 (x2, E_V16QImode, E_V8QImode) == 0
          && (
#line 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V8QImode))))
        return gen_split_122 (insn, operands);
      break;

    case E_V4HImode:
      if (pattern458 (x2, E_V8HImode, E_V4HImode) == 0
          && (
#line 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V4HImode))))
        return gen_split_123 (insn, operands);
      break;

    case E_V2SImode:
      if (pattern458 (x2, E_V4SImode, E_V2SImode) == 0
          && (
#line 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V2SImode))))
        return gen_split_124 (insn, operands);
      break;

    case E_V4HFmode:
      if (pattern458 (x2, E_V8HFmode, E_V4HFmode) == 0
          && (
#line 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V4HFmode))))
        return gen_split_125 (insn, operands);
      break;

    case E_V4BFmode:
      if (pattern458 (x2, E_V8BFmode, E_V4BFmode) == 0
          && (
#line 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V4BFmode))))
        return gen_split_126 (insn, operands);
      break;

    case E_V2SFmode:
      if (pattern458 (x2, E_V4SFmode, E_V2SFmode) == 0
          && (
#line 360 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 364 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed && aarch64_simd_register (operands[0], V2SFmode))))
        return gen_split_127 (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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)))
                    return gen_split_130 (insn, operands);
                  break;

                case E_V16QImode:
                  if (register_operand (operands[1], E_V16QImode)
                      && (
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (16, INTVAL (operands[2])) == 0)))
                    return gen_split_131 (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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)))
                    return gen_split_132 (insn, operands);
                  break;

                case E_V8HImode:
                  if (register_operand (operands[1], E_V8HImode)
                      && (
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)))
                    return gen_split_133 (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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)))
                    return gen_split_134 (insn, operands);
                  break;

                case E_V4SImode:
                  if (register_operand (operands[1], E_V4SImode)
                      && (
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)))
                    return gen_split_135 (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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)))
            return gen_split_136 (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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)))
                    return gen_split_137 (insn, operands);
                  break;

                case E_V8HFmode:
                  if (register_operand (operands[1], E_V8HFmode)
                      && (
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)))
                    return gen_split_138 (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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)))
                    return gen_split_139 (insn, operands);
                  break;

                case E_V8BFmode:
                  if (register_operand (operands[1], E_V8BFmode)
                      && (
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)))
                    return gen_split_140 (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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)))
                    return gen_split_141 (insn, operands);
                  break;

                case E_V4SFmode:
                  if (register_operand (operands[1], E_V4SFmode)
                      && (
#line 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)))
                    return gen_split_142 (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 4228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4243 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed
  && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)))
            return gen_split_143 (insn, operands);
          break;

        default:
          break;
        }
    }
  if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
    return NULL;
  switch (pattern459 (x2))
    {
    case 0:
      if (!(
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2798 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_704 (insn, operands);

    case 1:
      if (!(
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2798 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_705 (insn, operands);

    case 2:
      if (!(
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2798 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_706 (insn, operands);

    case 3:
      if (!(
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2798 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_707 (insn, operands);

    case 4:
      if (!(
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2798 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_708 (insn, operands);

    case 5:
      if (!(
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2798 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_709 (insn, operands);

    case 6:
      if (!(
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2798 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_710 (insn, operands);

    case 7:
      if (!(
#line 2783 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2798 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed
   && REG_P (operands[0])
   && REGNO (operands[0]) == REGNO (operands[1]))))
        return NULL;
      return gen_split_711 (insn, operands);

    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, 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 (pattern5 (x3))
        {
        case 0:
          if (aarch64_pluslong_strict_immedate (operands[2], E_SImode)
              && 
#line 2198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(epilogue_completed))
            return gen_split_17 (insn, operands);
          if (!aarch64_pluslong_or_poly_operand (operands[2], E_SImode)
              || !(
#line 2230 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE && operands[0] != stack_pointer_rtx) && 
#line 2239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_19 (insn, operands);

        case 1:
          if (aarch64_pluslong_strict_immedate (operands[2], E_DImode)
              && 
#line 2198 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(epilogue_completed))
            return gen_split_18 (insn, operands);
          if (!aarch64_pluslong_or_poly_operand (operands[2], E_DImode)
              || !(
#line 2230 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SVE && operands[0] != stack_pointer_rtx) && 
#line 2239 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_20 (insn, operands);

        default:
          return NULL;
        }

    case AND:
      x6 = XEXP (x4, 0);
      switch (GET_CODE (x6))
        {
        case LSHIFTRT:
          switch (pattern289 (x3))
            {
            case 0:
              if (!
#line 4694 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && aarch64_bitmask_imm (UINTVAL (operands[3]) << UINTVAL (operands[2]),
			   SImode)))
                return NULL;
              return gen_split_39 (insn, operands);

            case 1:
              if (!
#line 4694 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && aarch64_bitmask_imm (UINTVAL (operands[3]) << UINTVAL (operands[2]),
			   DImode)))
                return NULL;
              return gen_split_43 (insn, operands);

            default:
              return NULL;
            }

        case ASHIFT:
          switch (pattern290 (x3))
            {
            case 0:
              if (!
#line 4716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_47 (insn, operands);

            case 1:
              if (!
#line 4716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_51 (insn, operands);

            case 2:
              if (!
#line 4745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_55 (insn, operands);

            case 3:
              if (!
#line 4745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_59 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case LSHIFTRT:
      x6 = XEXP (x4, 0);
      if (GET_CODE (x6) != PLUS)
        return NULL;
      switch (pattern193 (x3))
        {
        case 0:
          if (!(
#line 4879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( true)))
            return NULL;
          return gen_split_144 (insn, operands);

        case 1:
          if (!(
#line 4879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( true)))
            return NULL;
          return gen_split_145 (insn, operands);

        case 2:
          if (!(
#line 4879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 4881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( true)))
            return NULL;
          return gen_split_146 (insn, operands);

        default:
          return NULL;
        }

    case UNSPEC:
      x5 = XEXP (x3, 1);
      operands[1] = x5;
      switch (XVECLEN (x4, 0))
        {
        case 2:
          if (XINT (x4, 1) != 119)
            return NULL;
          x7 = XVECEXP (x4, 0, 1);
          switch (GET_CODE (x7))
            {
            case ASHIFT:
              x8 = XEXP (x7, 1);
              operands[3] = x8;
              switch (pattern520 (x3))
                {
                case 0:
                  if (!(
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3935 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1029 (insn, operands);

                case 1:
                  if (!(
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3935 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1030 (insn, operands);

                case 2:
                  if (!(
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3935 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1031 (insn, operands);

                case 3:
                  if (!(
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3935 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1032 (insn, operands);

                case 4:
                  if (!(
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3935 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1033 (insn, operands);

                case 5:
                  if (!(
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3935 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1034 (insn, operands);

                case 6:
                  if (!(
#line 3933 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3935 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_1035 (insn, operands);

                case 7:
                  if (!(
#line 3957 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3959 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[4]) || !CONSTANT_P (operands[5])))))
                    return NULL;
                  return gen_split_1036 (insn, operands);

                case 8:
                  if (!(
#line 3978 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 3980 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[5]))))
                    return NULL;
                  return gen_split_1037 (insn, operands);

                default:
                  return NULL;
                }

            case ASHIFTRT:
              switch (pattern513 (x3))
                {
                case 0:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2439 (insn, operands);

                case 1:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2441 (insn, operands);

                case 2:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2443 (insn, operands);

                case 3:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2445 (insn, operands);

                default:
                  return NULL;
                }

            case LSHIFTRT:
              switch (pattern513 (x3))
                {
                case 0:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2440 (insn, operands);

                case 1:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2442 (insn, operands);

                case 2:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2444 (insn, operands);

                case 3:
                  if (!(
#line 1122 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1126 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return NULL;
                  return gen_split_2446 (insn, operands);

                default:
                  return NULL;
                }

            default:
              return NULL;
            }

        case 3:
          if (XINT (x4, 1) != 293)
            return NULL;
          switch (pattern398 (x3))
            {
            case 0:
              if (!(
#line 10315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10317 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2171 (insn, operands);

            case 1:
              if (!(
#line 10315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10317 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2172 (insn, operands);

            case 2:
              if (!(
#line 10315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10317 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2173 (insn, operands);

            case 3:
              if (!(
#line 10315 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10317 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2174 (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) != 293
          || 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 (pattern29 ())
        {
        case 0:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2159 (insn, operands);

        case 1:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2162 (insn, operands);

        case 2:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2165 (insn, operands);

        case 3:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2168 (insn, operands);

        default:
          return NULL;
        }

    case VEC_DUPLICATE:
      x5 = XEXP (x3, 1);
      operands[1] = x5;
      switch (pattern30 (x3))
        {
        case 0:
          if (!(
#line 10403 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10407 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2183 (insn, operands);

        case 1:
          if (!(
#line 10442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10446 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2186 (insn, operands);

        case 2:
          if (!(
#line 10483 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10487 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2189 (insn, operands);

        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;
  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 (pattern457 (x3, E_SImode) != 0)
            return NULL;
          return gen_split_34 (insn, operands);

        case E_DImode:
          if (pattern457 (x3, E_DImode) != 0)
            return NULL;
          return gen_split_35 (insn, operands);

        default:
          return NULL;
        }

    case AND:
      x6 = XEXP (x4, 0);
      switch (GET_CODE (x6))
        {
        case LSHIFTRT:
          switch (pattern289 (x3))
            {
            case 0:
              if (!
#line 4694 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && aarch64_bitmask_imm (UINTVAL (operands[3]) << UINTVAL (operands[2]),
			   SImode)))
                return NULL;
              return gen_split_36 (insn, operands);

            case 1:
              if (!
#line 4694 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && aarch64_bitmask_imm (UINTVAL (operands[3]) << UINTVAL (operands[2]),
			   DImode)))
                return NULL;
              return gen_split_40 (insn, operands);

            default:
              return NULL;
            }

        case ASHIFT:
          switch (pattern290 (x3))
            {
            case 0:
              if (!
#line 4716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_44 (insn, operands);

            case 1:
              if (!
#line 4716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_48 (insn, operands);

            case 2:
              if (!
#line 4745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_52 (insn, operands);

            case 3:
              if (!
#line 4745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_56 (insn, operands);

            default:
              return NULL;
            }

        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 (pattern22 (x3))
            {
            case 0:
              if (!
#line 4768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
                return NULL;
              return gen_split_60 (insn, operands);

            case 1:
              if (!
#line 4768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
                return NULL;
              return gen_split_63 (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 6124 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_105 (insn, operands);

        default:
          return NULL;
        }

    case UNSPEC:
      switch (XVECLEN (x4, 0))
        {
        case 2:
          switch (pattern260 (x3))
            {
            case 0:
              if (!(
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1102 (insn, operands);

            case 1:
              if (!(
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1103 (insn, operands);

            case 2:
              if (!(
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1104 (insn, operands);

            case 3:
              if (!(
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1105 (insn, operands);

            case 4:
              if (!(
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1106 (insn, operands);

            case 5:
              if (!(
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1107 (insn, operands);

            case 6:
              if (!(
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1108 (insn, operands);

            case 7:
              if (!(
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1109 (insn, operands);

            case 8:
              if (!(
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1110 (insn, operands);

            case 9:
              if (!(
#line 4475 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 4477 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_1111 (insn, operands);

            default:
              return NULL;
            }

        case 4:
          switch (pattern263 (x3))
            {
            case 0:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2048 (insn, operands);

            case 1:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2054 (insn, operands);

            case 2:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2060 (insn, operands);

            case 3:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2049 (insn, operands);

            case 4:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2055 (insn, operands);

            case 5:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2061 (insn, operands);

            case 6:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2050 (insn, operands);

            case 7:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2056 (insn, operands);

            case 8:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2062 (insn, operands);

            case 9:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2051 (insn, operands);

            case 10:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2057 (insn, operands);

            case 11:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2063 (insn, operands);

            case 12:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2052 (insn, operands);

            case 13:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2058 (insn, operands);

            case 14:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2064 (insn, operands);

            case 15:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2053 (insn, operands);

            case 16:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2059 (insn, operands);

            case 17:
              if (!(
#line 8131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8133 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2065 (insn, operands);

            case 18:
              if (!(
#line 8154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8156 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2066 (insn, operands);

            case 19:
              if (!(
#line 8154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8156 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2067 (insn, operands);

            case 20:
              if (!(
#line 8154 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8156 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
                return NULL;
              return gen_split_2068 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    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, x9;
  rtx x10;
  rtx_insn *res ATTRIBUTE_UNUSED;
  switch (pattern23 (x1))
    {
    case 0:
      x2 = XEXP (x1, 1);
      x3 = XEXP (x2, 0);
      x4 = XEXP (x3, 0);
      switch (GET_CODE (x4))
        {
        case LSHIFTRT:
          switch (pattern289 (x2))
            {
            case 0:
              if (!
#line 4694 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && aarch64_bitmask_imm (UINTVAL (operands[3]) << UINTVAL (operands[2]),
			   SImode)))
                return NULL;
              return gen_split_37 (insn, operands);

            case 1:
              if (!
#line 4694 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && aarch64_bitmask_imm (UINTVAL (operands[3]) << UINTVAL (operands[2]),
			   DImode)))
                return NULL;
              return gen_split_41 (insn, operands);

            default:
              return NULL;
            }

        case ASHIFT:
          switch (pattern290 (x2))
            {
            case 0:
              if (!
#line 4716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_45 (insn, operands);

            case 1:
              if (!
#line 4716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_49 (insn, operands);

            case 2:
              if (!
#line 4745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_53 (insn, operands);

            case 3:
              if (!
#line 4745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_57 (insn, operands);

            default:
              return NULL;
            }

        case REG:
        case SUBREG:
          operands[1] = x4;
          x5 = XEXP (x2, 1);
          if (GET_CODE (x5) != UNSPEC
              || pattern376 (x5) != 0)
            return NULL;
          switch (pattern710 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2423 (insn, operands);
                  if (rtx_equal_p (x10, operands[2])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2424 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2431 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 1072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2432 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2425 (insn, operands);
                  if (rtx_equal_p (x10, operands[2])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2426 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2433 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 1072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2434 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2427 (insn, operands);
                  if (rtx_equal_p (x10, operands[2])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2428 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2435 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 1072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2436 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2429 (insn, operands);
                  if (rtx_equal_p (x10, operands[2])
                      && (
#line 1045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                    return gen_split_2430 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2437 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 1072 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1076 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2438 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 1:
      if (!
#line 4768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
        return NULL;
      return gen_split_61 (insn, operands);

    case 2:
      if (!
#line 4768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
        return NULL;
      return gen_split_64 (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 x2, x3, x4, x5, x6, x7, x8;
  rtx_insn *res ATTRIBUTE_UNUSED;
  switch (pattern23 (x1))
    {
    case 0:
      x2 = XEXP (x1, 1);
      x3 = XEXP (x2, 0);
      x4 = XEXP (x3, 0);
      switch (GET_CODE (x4))
        {
        case LSHIFTRT:
          switch (pattern289 (x2))
            {
            case 0:
              if (!
#line 4694 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && aarch64_bitmask_imm (UINTVAL (operands[3]) << UINTVAL (operands[2]),
			   SImode)))
                return NULL;
              return gen_split_38 (insn, operands);

            case 1:
              if (!
#line 4694 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()
   && aarch64_bitmask_imm (UINTVAL (operands[3]) << UINTVAL (operands[2]),
			   DImode)))
                return NULL;
              return gen_split_42 (insn, operands);

            default:
              return NULL;
            }

        case ASHIFT:
          switch (pattern290 (x2))
            {
            case 0:
              if (!
#line 4716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_46 (insn, operands);

            case 1:
              if (!
#line 4716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_50 (insn, operands);

            case 2:
              if (!
#line 4745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_54 (insn, operands);

            case 3:
              if (!
#line 4745 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_58 (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 3669 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 3675 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( REG_P (operands[0]) && GP_REGNUM_P (REGNO (operands[0])))))
            return gen_split_128 (insn, operands);
          if (!rtx_equal_p (x8, operands[2])
              || !(
#line 3711 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 3717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( REG_P (operands[0]) && GP_REGNUM_P (REGNO (operands[0])))))
            return NULL;
          return gen_split_129 (insn, operands);

        case UNSPEC:
          switch (pattern266 (x2))
            {
            case 0:
              if (!(
#line 817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2395 (insn, operands);

            case 1:
              if (!(
#line 817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2396 (insn, operands);

            case 2:
              if (!(
#line 817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2397 (insn, operands);

            case 3:
              if (!(
#line 817 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 821 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2398 (insn, operands);

            case 4:
              x8 = XEXP (x2, 1);
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2415 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2416 (insn, operands);

            case 5:
              x8 = XEXP (x2, 1);
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2417 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2418 (insn, operands);

            case 6:
              x8 = XEXP (x2, 1);
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2419 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2420 (insn, operands);

            case 7:
              x8 = XEXP (x2, 1);
              if (rtx_equal_p (x8, operands[1])
                  && (
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return gen_split_2421 (insn, operands);
              if (!rtx_equal_p (x8, operands[2])
                  || !(
#line 998 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2) && 
#line 1002 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2422 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 1:
      if (!
#line 4768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
        return NULL;
      return gen_split_62 (insn, operands);

    case 2:
      if (!
#line 4768 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(can_create_pseudo_p ()))
        return NULL;
      return gen_split_65 (insn, operands);

    default:
      return NULL;
    }
}

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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2037 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2047 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2017 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2027 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1997 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2007 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1977 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1987 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1957 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1967 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1937 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1947 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1917 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1927 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1897 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2881 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1907 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2036 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2046 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2016 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2026 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1996 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2006 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1976 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1986 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1956 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1966 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1936 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1946 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1916 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1926 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1896 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2880 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1906 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2035 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2045 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2015 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2025 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1995 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2005 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1975 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1985 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1955 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1965 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1935 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1945 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1915 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1925 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1895 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2879 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1905 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2034 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2044 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2014 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2024 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1994 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2004 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1974 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1984 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1954 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1964 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1934 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1944 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1914 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1924 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_1894 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_1904 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2033 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2043 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2877 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return gen_split_2032 (insn, operands);
  if (!aarch64_reg_or_zero (operands[1], E_DImode)
      || !aarch64_reg_or_zero (operands[2], E_DImode)
      || !((
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
    return NULL;
  return gen_split_2042 (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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_123 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_124 (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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2876 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(TARGET_SVE2)) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_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 (pattern750 (x1))
    {
    case 0:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1898 (insn, operands);

    case 1:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1918 (insn, operands);

    case 2:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1938 (insn, operands);

    case 3:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1958 (insn, operands);

    case 4:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1978 (insn, operands);

    case 5:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1998 (insn, operands);

    case 6:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2018 (insn, operands);

    case 7:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_2028 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2038 (insn, operands);

    case 8:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1899 (insn, operands);

    case 9:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1919 (insn, operands);

    case 10:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1939 (insn, operands);

    case 11:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1959 (insn, operands);

    case 12:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1979 (insn, operands);

    case 13:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1999 (insn, operands);

    case 14:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2019 (insn, operands);

    case 15:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_2029 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2039 (insn, operands);

    case 16:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1900 (insn, operands);

    case 17:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1920 (insn, operands);

    case 18:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1940 (insn, operands);

    case 19:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1960 (insn, operands);

    case 20:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1980 (insn, operands);

    case 21:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2000 (insn, operands);

    case 22:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2020 (insn, operands);

    case 23:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_2030 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2040 (insn, operands);

    case 24:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1901 (insn, operands);

    case 25:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1921 (insn, operands);

    case 26:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1941 (insn, operands);

    case 27:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8021 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8025 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1961 (insn, operands);

    case 28:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_1981 (insn, operands);

    case 29:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2001 (insn, operands);

    case 30:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2021 (insn, operands);

    case 31:
      if (aarch64_reg_or_zero (operands[1], E_SImode)
          && aarch64_reg_or_zero (operands[2], E_SImode)
          && (
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return gen_split_2031 (insn, operands);
      if (!aarch64_reg_or_zero (operands[1], E_DImode)
          || !aarch64_reg_or_zero (operands[2], E_DImode)
          || !(
#line 8045 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8049 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[3]) || !CONSTANT_P (operands[4])))))
        return NULL;
      return gen_split_2041 (insn, operands);

    case 32:
      return split_124 (x1, insn);

    case 33:
      return split_123 (x1, insn);

    case 34:
      return split_122 (x1, insn);

    case 35:
      return split_121 (x1, insn);

    case 36:
      return split_120 (x1, insn);

    case 37:
      return split_119 (x1, insn);

    case 38:
      return split_118 (x1, insn);

    case 39:
      return split_117 (x1, insn);

    case 40:
      return split_116 (x1, insn);

    case 41:
      return split_115 (x1, insn);

    case 42:
      return split_114 (x1, insn);

    case 43:
      return split_113 (x1, insn);

    case 44:
      return split_112 (x1, insn);

    case 45:
      return split_111 (x1, insn);

    case 46:
      return split_110 (x1, insn);

    case 47:
      return split_109 (x1, insn);

    case 48:
      return split_108 (x1, insn);

    case 49:
      return split_107 (x1, insn);

    case 50:
      return split_106 (x1, insn);

    case 51:
      return split_105 (x1, insn);

    case 52:
      return split_104 (x1, insn);

    case 53:
      return split_103 (x1, insn);

    case 54:
      return split_102 (x1, insn);

    case 55:
      return split_101 (x1, insn);

    case 56:
      return split_100 (x1, insn);

    case 57:
      return split_99 (x1, insn);

    case 58:
      return split_98 (x1, insn);

    case 59:
      return split_97 (x1, insn);

    case 60:
      return split_96 (x1, insn);

    case 61:
      return split_95 (x1, insn);

    case 62:
      return split_94 (x1, insn);

    case 63:
      return split_93 (x1, insn);

    case 64:
      return split_92 (x1, insn);

    case 65:
      return split_91 (x1, insn);

    case 66:
      return split_90 (x1, insn);

    case 67:
      return split_89 (x1, insn);

    case 68:
      return split_88 (x1, insn);

    case 69:
      return split_87 (x1, insn);

    case 70:
      return split_86 (x1, insn);

    case 71:
      return split_85 (x1, insn);

    case 72:
      return split_84 (x1, insn);

    case 73:
      return split_83 (x1, insn);

    case 74:
      return split_82 (x1, insn);

    case 75:
      return split_81 (x1, insn);

    case 76:
      return split_80 (x1, insn);

    case 77:
      return split_79 (x1, insn);

    case 78:
      return split_78 (x1, insn);

    case 79:
      return split_77 (x1, insn);

    case 80:
      if (!(
#line 9760 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 9762 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (operands[4] != CONST0_RTX (VNx16BImode)
       || operands[5] != CONST0_RTX (VNx16BImode)))))
        return NULL;
      return gen_split_2147 (insn, operands);

    case 81:
      if (!(
#line 9784 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 9786 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (operands[4] != CONST0_RTX (VNx16BImode)
       || operands[5] != CONST0_RTX (VNx16BImode)))))
        return NULL;
      return gen_split_2148 (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_insn *res ATTRIBUTE_UNUSED;
  switch (pattern949 (x1, GTU))
    {
    case 0:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1597 (insn, operands);

    case 1:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1607 (insn, operands);

    case 2:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1637 (insn, operands);

    case 3:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1617 (insn, operands);

    case 4:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1647 (insn, operands);

    case 5:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1667 (insn, operands);

    case 6:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1627 (insn, operands);

    case 7:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1657 (insn, operands);

    case 8:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1677 (insn, operands);

    case 9:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1687 (insn, operands);

    case 10:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1697 (insn, operands);

    case 11:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1707 (insn, operands);

    case 12:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1737 (insn, operands);

    case 13:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1717 (insn, operands);

    case 14:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1747 (insn, operands);

    case 15:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1767 (insn, operands);

    case 16:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1727 (insn, operands);

    case 17:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1757 (insn, operands);

    case 18:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1777 (insn, operands);

    case 19:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1787 (insn, operands);

    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_insn *res ATTRIBUTE_UNUSED;
  switch (pattern949 (x1, GEU))
    {
    case 0:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1596 (insn, operands);

    case 1:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1606 (insn, operands);

    case 2:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1636 (insn, operands);

    case 3:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1616 (insn, operands);

    case 4:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1646 (insn, operands);

    case 5:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1666 (insn, operands);

    case 6:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1626 (insn, operands);

    case 7:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1656 (insn, operands);

    case 8:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1676 (insn, operands);

    case 9:
      if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1686 (insn, operands);

    case 10:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1696 (insn, operands);

    case 11:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1706 (insn, operands);

    case 12:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1736 (insn, operands);

    case 13:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1716 (insn, operands);

    case 14:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1746 (insn, operands);

    case 15:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1766 (insn, operands);

    case 16:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1726 (insn, operands);

    case 17:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1756 (insn, operands);

    case 18:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1776 (insn, operands);

    case 19:
      if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
        return NULL;
      return gen_split_1786 (insn, operands);

    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;
  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 120:
      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 (pattern945 (x1, LT))
            {
            case 0:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1588 (insn, operands);

            case 1:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1598 (insn, operands);

            case 2:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1628 (insn, operands);

            case 3:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1608 (insn, operands);

            case 4:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1638 (insn, operands);

            case 5:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1658 (insn, operands);

            case 6:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1618 (insn, operands);

            case 7:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1648 (insn, operands);

            case 8:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1668 (insn, operands);

            case 9:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1678 (insn, operands);

            case 10:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1688 (insn, operands);

            case 11:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1698 (insn, operands);

            case 12:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1728 (insn, operands);

            case 13:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1708 (insn, operands);

            case 14:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1738 (insn, operands);

            case 15:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1758 (insn, operands);

            case 16:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1718 (insn, operands);

            case 17:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1748 (insn, operands);

            case 18:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1768 (insn, operands);

            case 19:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1778 (insn, operands);

            default:
              return NULL;
            }

        case LE:
          switch (pattern945 (x1, LE))
            {
            case 0:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1589 (insn, operands);

            case 1:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1599 (insn, operands);

            case 2:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1629 (insn, operands);

            case 3:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1609 (insn, operands);

            case 4:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1639 (insn, operands);

            case 5:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1659 (insn, operands);

            case 6:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1619 (insn, operands);

            case 7:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1649 (insn, operands);

            case 8:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1669 (insn, operands);

            case 9:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1679 (insn, operands);

            case 10:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1689 (insn, operands);

            case 11:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1699 (insn, operands);

            case 12:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1729 (insn, operands);

            case 13:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1709 (insn, operands);

            case 14:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1739 (insn, operands);

            case 15:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1759 (insn, operands);

            case 16:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1719 (insn, operands);

            case 17:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1749 (insn, operands);

            case 18:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1769 (insn, operands);

            case 19:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1779 (insn, operands);

            default:
              return NULL;
            }

        case EQ:
          switch (pattern945 (x1, EQ))
            {
            case 0:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1590 (insn, operands);

            case 1:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1600 (insn, operands);

            case 2:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1630 (insn, operands);

            case 3:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1610 (insn, operands);

            case 4:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1640 (insn, operands);

            case 5:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1660 (insn, operands);

            case 6:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1620 (insn, operands);

            case 7:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1650 (insn, operands);

            case 8:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1670 (insn, operands);

            case 9:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1680 (insn, operands);

            case 10:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1690 (insn, operands);

            case 11:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1700 (insn, operands);

            case 12:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1730 (insn, operands);

            case 13:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1710 (insn, operands);

            case 14:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1740 (insn, operands);

            case 15:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1760 (insn, operands);

            case 16:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1720 (insn, operands);

            case 17:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1750 (insn, operands);

            case 18:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1770 (insn, operands);

            case 19:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1780 (insn, operands);

            default:
              return NULL;
            }

        case NE:
          switch (pattern945 (x1, NE))
            {
            case 0:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1591 (insn, operands);

            case 1:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1601 (insn, operands);

            case 2:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1631 (insn, operands);

            case 3:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1611 (insn, operands);

            case 4:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1641 (insn, operands);

            case 5:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1661 (insn, operands);

            case 6:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1621 (insn, operands);

            case 7:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1651 (insn, operands);

            case 8:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1671 (insn, operands);

            case 9:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1681 (insn, operands);

            case 10:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1691 (insn, operands);

            case 11:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1701 (insn, operands);

            case 12:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1731 (insn, operands);

            case 13:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1711 (insn, operands);

            case 14:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1741 (insn, operands);

            case 15:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1761 (insn, operands);

            case 16:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1721 (insn, operands);

            case 17:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1751 (insn, operands);

            case 18:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1771 (insn, operands);

            case 19:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1781 (insn, operands);

            default:
              return NULL;
            }

        case GE:
          switch (pattern945 (x1, GE))
            {
            case 0:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1592 (insn, operands);

            case 1:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1602 (insn, operands);

            case 2:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1632 (insn, operands);

            case 3:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1612 (insn, operands);

            case 4:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1642 (insn, operands);

            case 5:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1662 (insn, operands);

            case 6:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1622 (insn, operands);

            case 7:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1652 (insn, operands);

            case 8:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1672 (insn, operands);

            case 9:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1682 (insn, operands);

            case 10:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1692 (insn, operands);

            case 11:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1702 (insn, operands);

            case 12:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1732 (insn, operands);

            case 13:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1712 (insn, operands);

            case 14:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1742 (insn, operands);

            case 15:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1762 (insn, operands);

            case 16:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1722 (insn, operands);

            case 17:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1752 (insn, operands);

            case 18:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1772 (insn, operands);

            case 19:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1782 (insn, operands);

            default:
              return NULL;
            }

        case GT:
          switch (pattern945 (x1, GT))
            {
            case 0:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1593 (insn, operands);

            case 1:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1603 (insn, operands);

            case 2:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1633 (insn, operands);

            case 3:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1613 (insn, operands);

            case 4:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1643 (insn, operands);

            case 5:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1663 (insn, operands);

            case 6:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1623 (insn, operands);

            case 7:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1653 (insn, operands);

            case 8:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1673 (insn, operands);

            case 9:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1683 (insn, operands);

            case 10:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1693 (insn, operands);

            case 11:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1703 (insn, operands);

            case 12:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1733 (insn, operands);

            case 13:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1713 (insn, operands);

            case 14:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1743 (insn, operands);

            case 15:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1763 (insn, operands);

            case 16:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1723 (insn, operands);

            case 17:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1753 (insn, operands);

            case 18:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1773 (insn, operands);

            case 19:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1783 (insn, operands);

            default:
              return NULL;
            }

        case LTU:
          switch (pattern949 (x1, LTU))
            {
            case 0:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1594 (insn, operands);

            case 1:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1604 (insn, operands);

            case 2:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1634 (insn, operands);

            case 3:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1614 (insn, operands);

            case 4:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1644 (insn, operands);

            case 5:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1664 (insn, operands);

            case 6:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1624 (insn, operands);

            case 7:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1654 (insn, operands);

            case 8:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1674 (insn, operands);

            case 9:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1684 (insn, operands);

            case 10:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1694 (insn, operands);

            case 11:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1704 (insn, operands);

            case 12:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1734 (insn, operands);

            case 13:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1714 (insn, operands);

            case 14:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1744 (insn, operands);

            case 15:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1764 (insn, operands);

            case 16:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1724 (insn, operands);

            case 17:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1754 (insn, operands);

            case 18:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1774 (insn, operands);

            case 19:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1784 (insn, operands);

            default:
              return NULL;
            }

        case LEU:
          switch (pattern949 (x1, LEU))
            {
            case 0:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1595 (insn, operands);

            case 1:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1605 (insn, operands);

            case 2:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1635 (insn, operands);

            case 3:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1615 (insn, operands);

            case 4:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1645 (insn, operands);

            case 5:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1665 (insn, operands);

            case 6:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1625 (insn, operands);

            case 7:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1655 (insn, operands);

            case 8:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1675 (insn, operands);

            case 9:
              if (!(
#line 7833 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7838 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1685 (insn, operands);

            case 10:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1695 (insn, operands);

            case 11:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1705 (insn, operands);

            case 12:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1735 (insn, operands);

            case 13:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1715 (insn, operands);

            case 14:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1745 (insn, operands);

            case 15:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1765 (insn, operands);

            case 16:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1725 (insn, operands);

            case 17:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1755 (insn, operands);

            case 18:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1775 (insn, operands);

            case 19:
              if (!(
#line 7862 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 7867 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[4], operands[6]))))
                return NULL;
              return gen_split_1785 (insn, operands);

            default:
              return NULL;
            }

        case GEU:
          return split_127 (x1, insn);

        case GTU:
          return split_126 (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 434:
              switch (pattern966 (x1, 434))
                {
                case 0:
                  if (!(
#line 2509 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2467 (insn, operands);

                case 1:
                  if (!(
#line 2509 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2469 (insn, operands);

                case 2:
                  if (!(
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2471 (insn, operands);

                case 3:
                  if (!(
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2473 (insn, operands);

                default:
                  return NULL;
                }

            case 435:
              switch (pattern966 (x1, 435))
                {
                case 0:
                  if (!(
#line 2509 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2468 (insn, operands);

                case 1:
                  if (!(
#line 2509 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2512 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2470 (insn, operands);

                case 2:
                  if (!(
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2472 (insn, operands);

                case 3:
                  if (!(
#line 2536 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
(TARGET_SVE2
   && aarch64_sve_same_pred_for_ptest_p (&operands[4], &operands[6])) && 
#line 2539 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve2.md"
( !rtx_equal_p (operands[4], operands[6]))))
                    return NULL;
                  return gen_split_2474 (insn, operands);

                default:
                  return NULL;
                }

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 291:
      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 (pattern950 (x1))
        {
        case 0:
          if (!(
#line 9874 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 8 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2149 (insn, operands);

        case 1:
          if (!(
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 8 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2154 (insn, operands);

        default:
          return NULL;
        }

    case 292:
      x8 = XVECEXP (x3, 0, 1);
      operands[2] = x8;
      operands[3] = x5;
      x9 = XVECEXP (x6, 0, 0);
      operands[4] = x9;
      operands[5] = x7;
      switch (pattern935 (x1))
        {
        case 0:
          if (!(
#line 9874 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2150 (insn, operands);

        case 1:
          if (!(
#line 9874 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 16
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2151 (insn, operands);

        case 2:
          if (!(
#line 9874 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 32
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2152 (insn, operands);

        case 3:
          if (!(
#line 9874 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 64
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9878 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2153 (insn, operands);

        case 4:
          if (!(
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 8
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2155 (insn, operands);

        case 5:
          if (!(
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 16
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2156 (insn, operands);

        case 6:
          if (!(
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 32
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2157 (insn, operands);

        case 7:
          if (!(
#line 9899 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE
   && 64 >= 64
   && aarch64_sve_same_pred_for_ptest_p (&operands[2], &operands[4])) && 
#line 9903 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[2], operands[4]))))
            return NULL;
          return gen_split_2158 (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;
  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) != 120)
        return NULL;
      x7 = XVECEXP (x6, 0, 1);
      if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
        return NULL;
      switch (pattern627 (x1))
        {
        case 0:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1788 (insn, operands);

        case 1:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1798 (insn, operands);

        case 2:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1828 (insn, operands);

        case 3:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1808 (insn, operands);

        case 4:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1838 (insn, operands);

        case 5:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1858 (insn, operands);

        case 6:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1818 (insn, operands);

        case 7:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1848 (insn, operands);

        case 8:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1868 (insn, operands);

        case 9:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1878 (insn, operands);

        case 10:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1789 (insn, operands);

        case 11:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1799 (insn, operands);

        case 12:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1829 (insn, operands);

        case 13:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1809 (insn, operands);

        case 14:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1839 (insn, operands);

        case 15:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1859 (insn, operands);

        case 16:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1819 (insn, operands);

        case 17:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1849 (insn, operands);

        case 18:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1869 (insn, operands);

        case 19:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1879 (insn, operands);

        case 20:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1790 (insn, operands);

        case 21:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1800 (insn, operands);

        case 22:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1830 (insn, operands);

        case 23:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1810 (insn, operands);

        case 24:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1840 (insn, operands);

        case 25:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1860 (insn, operands);

        case 26:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1820 (insn, operands);

        case 27:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1850 (insn, operands);

        case 28:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1870 (insn, operands);

        case 29:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1880 (insn, operands);

        case 30:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1791 (insn, operands);

        case 31:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1801 (insn, operands);

        case 32:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1831 (insn, operands);

        case 33:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1811 (insn, operands);

        case 34:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1841 (insn, operands);

        case 35:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1861 (insn, operands);

        case 36:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1821 (insn, operands);

        case 37:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1851 (insn, operands);

        case 38:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1871 (insn, operands);

        case 39:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1881 (insn, operands);

        case 40:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1792 (insn, operands);

        case 41:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1802 (insn, operands);

        case 42:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1832 (insn, operands);

        case 43:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1812 (insn, operands);

        case 44:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1842 (insn, operands);

        case 45:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1862 (insn, operands);

        case 46:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1822 (insn, operands);

        case 47:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1852 (insn, operands);

        case 48:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1872 (insn, operands);

        case 49:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1882 (insn, operands);

        case 50:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1793 (insn, operands);

        case 51:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1803 (insn, operands);

        case 52:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1833 (insn, operands);

        case 53:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1813 (insn, operands);

        case 54:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1843 (insn, operands);

        case 55:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1863 (insn, operands);

        case 56:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1823 (insn, operands);

        case 57:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1853 (insn, operands);

        case 58:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1873 (insn, operands);

        case 59:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1883 (insn, operands);

        case 60:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1794 (insn, operands);

        case 61:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1804 (insn, operands);

        case 62:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1834 (insn, operands);

        case 63:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1814 (insn, operands);

        case 64:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1844 (insn, operands);

        case 65:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1864 (insn, operands);

        case 66:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1824 (insn, operands);

        case 67:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1854 (insn, operands);

        case 68:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1874 (insn, operands);

        case 69:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1884 (insn, operands);

        case 70:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1795 (insn, operands);

        case 71:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1805 (insn, operands);

        case 72:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1835 (insn, operands);

        case 73:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1815 (insn, operands);

        case 74:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1845 (insn, operands);

        case 75:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1865 (insn, operands);

        case 76:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1825 (insn, operands);

        case 77:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1855 (insn, operands);

        case 78:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1875 (insn, operands);

        case 79:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1885 (insn, operands);

        case 80:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1796 (insn, operands);

        case 81:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1806 (insn, operands);

        case 82:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1836 (insn, operands);

        case 83:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1816 (insn, operands);

        case 84:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1846 (insn, operands);

        case 85:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1866 (insn, operands);

        case 86:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1826 (insn, operands);

        case 87:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1856 (insn, operands);

        case 88:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1876 (insn, operands);

        case 89:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1886 (insn, operands);

        case 90:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1797 (insn, operands);

        case 91:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1807 (insn, operands);

        case 92:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1837 (insn, operands);

        case 93:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1817 (insn, operands);

        case 94:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1847 (insn, operands);

        case 95:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1867 (insn, operands);

        case 96:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1827 (insn, operands);

        case 97:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1857 (insn, operands);

        case 98:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1877 (insn, operands);

        case 99:
          if (!(
#line 7890 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 7892 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_1887 (insn, operands);

        default:
          return NULL;
        }

    case AND:
      x8 = XEXP (x6, 0);
      if (pattern361 (x8) != 0)
        return NULL;
      switch (pattern668 (x1))
        {
        case 0:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2069 (insn, operands);

        case 1:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2075 (insn, operands);

        case 2:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2081 (insn, operands);

        case 3:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2087 (insn, operands);

        case 4:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2093 (insn, operands);

        case 5:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2099 (insn, operands);

        case 6:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2070 (insn, operands);

        case 7:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2076 (insn, operands);

        case 8:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2082 (insn, operands);

        case 9:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2088 (insn, operands);

        case 10:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2094 (insn, operands);

        case 11:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2100 (insn, operands);

        case 12:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2071 (insn, operands);

        case 13:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2077 (insn, operands);

        case 14:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2083 (insn, operands);

        case 15:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2089 (insn, operands);

        case 16:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2095 (insn, operands);

        case 17:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2101 (insn, operands);

        case 18:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2072 (insn, operands);

        case 19:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2078 (insn, operands);

        case 20:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2084 (insn, operands);

        case 21:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2090 (insn, operands);

        case 22:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2096 (insn, operands);

        case 23:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2102 (insn, operands);

        case 24:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2073 (insn, operands);

        case 25:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2079 (insn, operands);

        case 26:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2085 (insn, operands);

        case 27:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2091 (insn, operands);

        case 28:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2097 (insn, operands);

        case 29:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2103 (insn, operands);

        case 30:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2074 (insn, operands);

        case 31:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2080 (insn, operands);

        case 32:
          if (!(
#line 8183 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8185 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2086 (insn, operands);

        case 33:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2092 (insn, operands);

        case 34:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2098 (insn, operands);

        case 35:
          if (!(
#line 8221 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8223 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2104 (insn, operands);

        case 36:
          if (!(
#line 8259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2105 (insn, operands);

        case 37:
          if (!(
#line 8259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2106 (insn, operands);

        case 38:
          if (!(
#line 8259 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8261 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2107 (insn, operands);

        case 39:
          if (!(
#line 8296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2108 (insn, operands);

        case 40:
          if (!(
#line 8296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2109 (insn, operands);

        case 41:
          if (!(
#line 8296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 8298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( 1)))
            return NULL;
          return gen_split_2110 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_130 (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 (pattern174 (x1))
            {
            case 0:
              if (!(
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), SImode)
   && !aarch64_plus_operand (operands[2], SImode)
   && !reload_completed) && 
#line 4110 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_22 (insn, operands);

            case 1:
              if (!(
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), DImode)
   && !aarch64_plus_operand (operands[2], DImode)
   && !reload_completed) && 
#line 4110 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_24 (insn, operands);

            default:
              return NULL;
            }

        case NE:
          switch (pattern174 (x1))
            {
            case 0:
              if (!(
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), SImode)
   && !aarch64_plus_operand (operands[2], SImode)
   && !reload_completed) && 
#line 4110 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_23 (insn, operands);

            case 1:
              if (!(
#line 4106 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[2]), DImode)
   && !aarch64_plus_operand (operands[2], DImode)
   && !reload_completed) && 
#line 4110 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_25 (insn, operands);

            default:
              return NULL;
            }

        case PLUS:
          x4 = XVECEXP (x1, 0, 1);
          if (pattern189 (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 (pattern672 (x3))
                {
                case 0:
                  if (!(
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)) && 
#line 4535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_26 (insn, operands);

                case 1:
                  if (!(
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMAX, operands, false)) && 
#line 4535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_30 (insn, operands);

                default:
                  return NULL;
                }

            case SMIN:
              switch (pattern672 (x3))
                {
                case 0:
                  if (!(
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)) && 
#line 4535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_27 (insn, operands);

                case 1:
                  if (!(
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (SMIN, operands, false)) && 
#line 4535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_31 (insn, operands);

                default:
                  return NULL;
                }

            case UMAX:
              switch (pattern672 (x3))
                {
                case 0:
                  if (!(
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)) && 
#line 4535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_28 (insn, operands);

                case 1:
                  if (!(
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMAX, operands, false)) && 
#line 4535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_32 (insn, operands);

                default:
                  return NULL;
                }

            case UMIN:
              switch (pattern672 (x3))
                {
                case 0:
                  if (!(
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)) && 
#line 4535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_29 (insn, operands);

                case 1:
                  if (!(
#line 4533 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(aarch64_maxmin_plus_const (UMIN, operands, false)) && 
#line 4535 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( 1)))
                    return NULL;
                  return gen_split_33 (insn, operands);

                default:
                  return NULL;
                }

            default:
              return NULL;
            }

        case COMPARE:
          if (GET_MODE (x3) != E_CC_NZVmode)
            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_NZVmode)
            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_70 (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_71 (insn, operands);

                default:
                  return NULL;
                }

            case ASHIFT:
              switch (pattern763 (x1))
                {
                case 0:
                  return gen_split_72 (insn, operands);

                case 1:
                  return gen_split_77 (insn, operands);

                default:
                  return NULL;
                }

            case ASHIFTRT:
              switch (pattern763 (x1))
                {
                case 0:
                  return gen_split_73 (insn, operands);

                case 1:
                  return gen_split_78 (insn, operands);

                default:
                  return NULL;
                }

            case LSHIFTRT:
              switch (pattern763 (x1))
                {
                case 0:
                  return gen_split_74 (insn, operands);

                case 1:
                  return gen_split_79 (insn, operands);

                default:
                  return NULL;
                }

            case ROTATERT:
              switch (pattern763 (x1))
                {
                case 0:
                  return gen_split_75 (insn, operands);

                case 1:
                  return gen_split_80 (insn, operands);

                default:
                  return NULL;
                }

            case ROTATE:
              switch (pattern763 (x1))
                {
                case 0:
                  return gen_split_76 (insn, operands);

                case 1:
                  return gen_split_81 (insn, operands);

                default:
                  return NULL;
                }

            default:
              return NULL;
            }

        case NEG:
          switch (pattern175 (x1))
            {
            case 0:
              if (!(
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6527 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_147 (insn, operands);

            case 1:
              if (!(
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6527 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_148 (insn, operands);

            case 2:
              if (!(
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6527 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_149 (insn, operands);

            case 3:
              if (!(
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6527 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_150 (insn, operands);

            case 4:
              if (!(
#line 6525 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6527 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_151 (insn, operands);

            case 5:
              if (!(
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_152 (insn, operands);

            case 6:
              if (!(
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_153 (insn, operands);

            case 7:
              if (!(
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_154 (insn, operands);

            case 8:
              if (!(
#line 6588 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6590 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_155 (insn, operands);

            case 9:
              if (!(
#line 6676 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
(TARGET_SIMD) && 
#line 6678 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-simd.md"
( reload_completed)))
                return NULL;
              return gen_split_156 (insn, operands);

            default:
              return NULL;
            }

        case UNSPEC:
          if (XVECLEN (x3, 0) != 4
              || pattern286 (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 (pattern745 (x1))
                    {
                    case 0:
                      if ((
#line 979 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 983 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_444 (insn, operands);
                      break;

                    case 1:
                      if ((
#line 1031 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1035 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_448 (insn, operands);
                      break;

                    default:
                      break;
                    }
                  break;

                case SUBREG:
                  switch (pattern747 (x1))
                    {
                    case 0:
                      if ((
#line 1005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_445 (insn, operands);
                      break;

                    case 1:
                      if ((
#line 1005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_446 (insn, operands);
                      break;

                    case 2:
                      if ((
#line 1005 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1009 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_447 (insn, operands);
                      break;

                    case 3:
                      if ((
#line 1057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1061 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_449 (insn, operands);
                      break;

                    case 4:
                      if ((
#line 1057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1061 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_450 (insn, operands);
                      break;

                    case 5:
                      if ((
#line 1057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 1061 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( (!CONSTANT_P (operands[2]) || !CONSTANT_P (operands[3])))))
                        return gen_split_451 (insn, operands);
                      break;

                    default:
                      break;
                    }
                  break;

                case UNSPEC:
                  res = split_125 (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_128 (x1, insn);

        case VEC_DUPLICATE:
          switch (pattern180 (x1))
            {
            case 0:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_677 (insn, operands);

            case 1:
              if (!(
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN) && 
#line 2555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_696 (insn, operands);

            case 2:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_678 (insn, operands);

            case 3:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_679 (insn, operands);

            case 4:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_680 (insn, operands);

            case 5:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_681 (insn, operands);

            case 6:
              if (!(
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN) && 
#line 2555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_697 (insn, operands);

            case 7:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_682 (insn, operands);

            case 8:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_683 (insn, operands);

            case 9:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_684 (insn, operands);

            case 10:
              if (!(
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN) && 
#line 2555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_701 (insn, operands);

            case 11:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_685 (insn, operands);

            case 12:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_686 (insn, operands);

            case 13:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_687 (insn, operands);

            case 14:
              if (!(
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN) && 
#line 2555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_700 (insn, operands);

            case 15:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_688 (insn, operands);

            case 16:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_689 (insn, operands);

            case 17:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_690 (insn, operands);

            case 18:
              if (!(
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN) && 
#line 2555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_698 (insn, operands);

            case 19:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_691 (insn, operands);

            case 20:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_692 (insn, operands);

            case 21:
              if (!(
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN) && 
#line 2555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_702 (insn, operands);

            case 22:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_693 (insn, operands);

            case 23:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_694 (insn, operands);

            case 24:
              if (!(
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN) && 
#line 2555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_699 (insn, operands);

            case 25:
              if (!(
#line 2516 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2521 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_695 (insn, operands);

            case 26:
              if (!(
#line 2542 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && !BYTES_BIG_ENDIAN) && 
#line 2555 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( MEM_P (operands[1]))))
                return NULL;
              return gen_split_703 (insn, operands);

            default:
              return NULL;
            }

        case AND:
          return split_129 (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 (pattern369 (x1))
            {
            case 0:
              if (!
#line 62 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_258 (insn, operands);

            case 1:
              if (!
#line 62 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_259 (insn, operands);

            case 2:
              if (!
#line 86 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_260 (insn, operands);

            case 3:
              if (!
#line 86 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_261 (insn, operands);

            case 4:
              if (!
#line 110 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_262 (insn, operands);

            case 5:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_267 (insn, operands);

            case 6:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_272 (insn, operands);

            case 7:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_277 (insn, operands);

            case 8:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_282 (insn, operands);

            case 9:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_268 (insn, operands);

            case 10:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_273 (insn, operands);

            case 11:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_278 (insn, operands);

            case 12:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_283 (insn, operands);

            case 13:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_269 (insn, operands);

            case 14:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_274 (insn, operands);

            case 15:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_279 (insn, operands);

            case 16:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_284 (insn, operands);

            case 17:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_270 (insn, operands);

            case 18:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_275 (insn, operands);

            case 19:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_280 (insn, operands);

            case 20:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_285 (insn, operands);

            case 21:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_271 (insn, operands);

            case 22:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_276 (insn, operands);

            case 23:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_281 (insn, operands);

            case 24:
              if (!
#line 350 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_286 (insn, operands);

            case 25:
              if (!
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_287 (insn, operands);

            case 26:
              if (!
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_288 (insn, operands);

            case 27:
              if (!
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_289 (insn, operands);

            case 28:
              if (!
#line 406 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_290 (insn, operands);

            default:
              return NULL;
            }

        case SUBREG:
        case MEM:
          operands[1] = x3;
          if (pattern471 (x1, 23, 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 (pattern916 (x4))
            {
            case 0:
              if (!
#line 229 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_263 (insn, operands);

            case 1:
              if (!
#line 229 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_264 (insn, operands);

            case 2:
              if (!
#line 229 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_265 (insn, operands);

            case 3:
              if (!
#line 229 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_266 (insn, operands);

            default:
              return NULL;
            }

        case PLUS:
          switch (pattern370 (x1))
            {
            case 0:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_315 (insn, operands);

            case 1:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_320 (insn, operands);

            case 2:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_325 (insn, operands);

            case 3:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_330 (insn, operands);

            default:
              return NULL;
            }

        case MINUS:
          switch (pattern370 (x1))
            {
            case 0:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_316 (insn, operands);

            case 1:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_321 (insn, operands);

            case 2:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_326 (insn, operands);

            case 3:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_331 (insn, operands);

            default:
              return NULL;
            }

        case IOR:
          switch (pattern371 (x1))
            {
            case 0:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_317 (insn, operands);

            case 1:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_322 (insn, operands);

            case 2:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_327 (insn, operands);

            case 3:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_332 (insn, operands);

            default:
              return NULL;
            }

        case XOR:
          switch (pattern371 (x1))
            {
            case 0:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_318 (insn, operands);

            case 1:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_323 (insn, operands);

            case 2:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_328 (insn, operands);

            case 3:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_333 (insn, operands);

            default:
              return NULL;
            }

        case AND:
          switch (pattern371 (x1))
            {
            case 0:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_319 (insn, operands);

            case 1:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_324 (insn, operands);

            case 2:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_329 (insn, operands);

            case 3:
              if (!
#line 610 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_334 (insn, operands);

            default:
              return NULL;
            }

        case NOT:
          x7 = XEXP (x3, 0);
          if (GET_CODE (x7) != AND
              || pattern471 (x1, 26, 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 (pattern831 (x1))
            {
            case 0:
              if (!
#line 634 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_335 (insn, operands);

            case 1:
              if (!
#line 634 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_336 (insn, operands);

            case 2:
              if (!
#line 634 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_337 (insn, operands);

            case 3:
              if (!
#line 634 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
                return NULL;
              return gen_split_338 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case 5:
      x2 = XVECEXP (x1, 0, 0);
      if (GET_CODE (x2) != SET
          || pattern42 (x1, 26, 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 (pattern899 (x1))
        {
        case 0:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_291 (insn, operands);

        case 1:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_296 (insn, operands);

        case 2:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_301 (insn, operands);

        case 3:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_306 (insn, operands);

        case 4:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_292 (insn, operands);

        case 5:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_297 (insn, operands);

        case 6:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_302 (insn, operands);

        case 7:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_307 (insn, operands);

        case 8:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_293 (insn, operands);

        case 9:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_298 (insn, operands);

        case 10:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_303 (insn, operands);

        case 11:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_308 (insn, operands);

        case 12:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_294 (insn, operands);

        case 13:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_299 (insn, operands);

        case 14:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_304 (insn, operands);

        case 15:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_309 (insn, operands);

        case 16:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_295 (insn, operands);

        case 17:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_300 (insn, operands);

        case 18:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_305 (insn, operands);

        case 19:
          if (!
#line 510 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_310 (insn, operands);

        case 20:
          if (!
#line 557 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_311 (insn, operands);

        case 21:
          if (!
#line 557 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_312 (insn, operands);

        case 22:
          if (!
#line 557 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_313 (insn, operands);

        case 23:
          if (!
#line 557 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/atomics.md"
( epilogue_completed))
            return NULL;
          return gen_split_314 (insn, operands);

        default:
          return NULL;
        }

    default:
      return NULL;
    }
}

static rtx_insn *
split_131 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
{
  rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
  rtx x2, x3, x4, x5, x6, x7, x8, x9;
  rtx x10, x11;
  rtx_insn *res ATTRIBUTE_UNUSED;
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    case 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 (pattern454 (x2))
            {
            case 0:
              if (!((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)) && 
#line 721 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_1 (insn, operands);

            case 1:
              if (!((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)) && 
#line 721 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_3 (insn, operands);

            case 2:
              if (!((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)) && 
#line 721 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_5 (insn, operands);

            case 3:
              if (!((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)) && 
#line 721 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_7 (insn, operands);

            default:
              return NULL;
            }

        case NE:
          switch (pattern454 (x2))
            {
            case 0:
              if (!((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)) && 
#line 721 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_2 (insn, operands);

            case 1:
              if (!((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), SImode)
   && !aarch64_plus_operand (operands[1], SImode)
   && !reload_completed) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)) && 
#line 721 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_4 (insn, operands);

            case 2:
              if (!((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 147 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == SImode || Pmode == SImode)) && 
#line 721 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_6 (insn, operands);

            case 3:
              if (!((
#line 717 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(!aarch64_move_imm (INTVAL (operands[1]), DImode)
   && !aarch64_plus_operand (operands[1], DImode)
   && !reload_completed) && 
#line 148 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/iterators.md"
(ptr_mode == DImode || Pmode == DImode)) && 
#line 721 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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:
      return split_71 (x1, insn);

    case PLUS:
      return split_73 (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 2258 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(epilogue_completed))
            return NULL;
          return gen_split_21 (insn, operands);

        case US_PLUS:
          switch (pattern455 (x7))
            {
            case 0:
              if (!(
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2176 (insn, operands);

            case 1:
              if (!(
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2178 (insn, operands);

            case 2:
              if (!(
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2180 (insn, operands);

            case 3:
              if (!(
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2182 (insn, operands);

            default:
              return NULL;
            }

        case US_MINUS:
          switch (pattern456 (x7))
            {
            case 0:
              if (!(
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10591 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2209 (insn, operands);

            case 1:
              if (!(
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10591 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2211 (insn, operands);

            case 2:
              if (!(
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10591 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2213 (insn, operands);

            case 3:
              if (!(
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10591 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2215 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case AND:
      return split_74 (x1, insn);

    case IOR:
      return split_75 (x1, insn);

    case XOR:
      return split_76 (x1, insn);

    case NOT:
      x7 = XEXP (x2, 0);
      if (GET_CODE (x7) != XOR)
        return NULL;
      x5 = XEXP (x1, 0);
      operands[0] = x5;
      switch (pattern188 (x2))
        {
        case 0:
          if (!
#line 4869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(reload_completed && FP_REGNUM_P (REGNO (operands[0]))))
            return NULL;
          return gen_split_66 (insn, operands);

        case 1:
          if (!
#line 4869 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(reload_completed && FP_REGNUM_P (REGNO (operands[0]))))
            return NULL;
          return gen_split_67 (insn, operands);

        default:
          return NULL;
        }

    case CTZ:
      switch (pattern6 (x1))
        {
        case 0:
          if (!
#line 5142 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(reload_completed && !TARGET_CSSC))
            return NULL;
          return gen_split_68 (insn, operands);

        case 1:
          if (!
#line 5142 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(reload_completed && !TARGET_CSSC))
            return NULL;
          return gen_split_69 (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 (pattern26 (x2))
            {
            case 0:
              if (!(
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)) && 
#line 5372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_82 (insn, operands);

            case 1:
              if (!(
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)) && 
#line 5372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_87 (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 (pattern554 (x2))
                {
                case 0:
                  if ((
#line 5395 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[4]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)
   && INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)) && 
#line 5398 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                    return gen_split_92 (insn, operands);
                  break;

                case 1:
                  if ((
#line 5395 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[4]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)
   && INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)) && 
#line 5398 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                    return gen_split_93 (insn, operands);
                  break;

                default:
                  break;
                }
            }
          operands[3] = x10;
          if (!register_operand (operands[3], E_QImode))
            return NULL;
          switch (pattern5 (x2))
            {
            case 0:
              if (!(
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)) && 
#line 5442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_94 (insn, operands);

            case 1:
              if (!(
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)) && 
#line 5442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
                return NULL;
              return gen_split_97 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case ASHIFTRT:
      switch (pattern27 (x1))
        {
        case 0:
          if (!(
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)) && 
#line 5372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_83 (insn, operands);

        case 1:
          if (!(
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)) && 
#line 5372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_88 (insn, operands);

        case 2:
          if (!(
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)) && 
#line 5442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_95 (insn, operands);

        case 3:
          if (!(
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)) && 
#line 5442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_98 (insn, operands);

        case 4:
          if (!
#line 5550 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && reload_completed))
            return NULL;
          return gen_split_102 (insn, operands);

        case 5:
          if (!
#line 5565 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && reload_completed))
            return NULL;
          return gen_split_103 (insn, operands);

        default:
          return NULL;
        }

    case LSHIFTRT:
      switch (pattern27 (x1))
        {
        case 0:
          if (!(
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)) && 
#line 5372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_84 (insn, operands);

        case 1:
          if (!(
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)) && 
#line 5372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_89 (insn, operands);

        case 2:
          if (!(
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)) && 
#line 5442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_96 (insn, operands);

        case 3:
          if (!(
#line 5440 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(INTVAL (operands[2]) == GET_MODE_BITSIZE (DImode)) && 
#line 5442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_99 (insn, operands);

        case 4:
          if (!
#line 5502 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && reload_completed))
            return NULL;
          return gen_split_100 (insn, operands);

        case 5:
          if (!
#line 5517 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(TARGET_SIMD && reload_completed))
            return NULL;
          return gen_split_101 (insn, operands);

        default:
          return NULL;
        }

    case ROTATERT:
      switch (pattern28 (x1))
        {
        case 0:
          if (!(
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)) && 
#line 5372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_85 (insn, operands);

        case 1:
          if (!(
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)) && 
#line 5372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_90 (insn, operands);

        default:
          return NULL;
        }

    case ROTATE:
      switch (pattern28 (x1))
        {
        case 0:
          if (!(
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1)) == 0)) && 
#line 5372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_86 (insn, operands);

        case 1:
          if (!(
#line 5370 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
(((~INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1)) == 0)) && 
#line 5372 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64.md"
( true)))
            return NULL;
          return gen_split_91 (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 5849 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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_104 (insn, operands);

    case VEC_SELECT:
      return split_72 (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 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x81 & 0x81) == 0) && 
#line 3213 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_712 (insn, operands);

        case E_VNx4QImode:
          switch (pattern292 (x2))
            {
            case 0:
              if (!(
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x41 & 0x41) == 0) && 
#line 3213 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_713 (insn, operands);

            case 1:
              if (!(
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x41) == 0) && 
#line 3213 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_715 (insn, operands);

            default:
              return NULL;
            }

        case E_VNx2QImode:
          switch (pattern293 (x2))
            {
            case 0:
              if (!(
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x21 & 0x21) == 0) && 
#line 3213 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_714 (insn, operands);

            case 1:
              if (!(
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x21) == 0) && 
#line 3213 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_717 (insn, operands);

            case 2:
              if (!(
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x21) == 0) && 
#line 3213 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_719 (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 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x43 & 0x42) == 0) && 
#line 3213 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_716 (insn, operands);

        case E_VNx2HImode:
          switch (pattern294 (x2))
            {
            case 0:
              if (!(
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x23 & 0x22) == 0) && 
#line 3213 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_718 (insn, operands);

            case 1:
              if (!(
#line 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x22) == 0) && 
#line 3213 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
                return NULL;
              return gen_split_720 (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 3211 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE && (~0x27 & 0x24) == 0) && 
#line 3213 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( reload_completed)))
            return NULL;
          return gen_split_721 (insn, operands);

        default:
          return NULL;
        }

    case SS_PLUS:
      switch (pattern31 (x1))
        {
        case 0:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2160 (insn, operands);

        case 1:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2163 (insn, operands);

        case 2:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2166 (insn, operands);

        case 3:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2169 (insn, operands);

        case 4:
          if (!(
#line 10403 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10407 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2184 (insn, operands);

        case 5:
          if (!(
#line 10442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10446 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2187 (insn, operands);

        case 6:
          if (!(
#line 10483 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10487 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2190 (insn, operands);

        default:
          return NULL;
        }

    case US_PLUS:
      switch (pattern31 (x1))
        {
        case 0:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2161 (insn, operands);

        case 1:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2164 (insn, operands);

        case 2:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2167 (insn, operands);

        case 3:
          if (!(
#line 10296 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10298 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2170 (insn, operands);

        case 4:
          if (!(
#line 10403 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10407 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2185 (insn, operands);

        case 5:
          if (!(
#line 10442 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10446 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2188 (insn, operands);

        case 6:
          if (!(
#line 10483 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10487 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2191 (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 (pattern455 (x7))
            {
            case 0:
              if (!(
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2175 (insn, operands);

            case 1:
              if (!(
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2177 (insn, operands);

            case 2:
              if (!(
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2179 (insn, operands);

            case 3:
              if (!(
#line 10351 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10358 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2181 (insn, operands);

            default:
              return NULL;
            }

        case SS_MINUS:
          switch (pattern456 (x7))
            {
            case 0:
              if (!(
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10591 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2208 (insn, operands);

            case 1:
              if (!(
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10591 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2210 (insn, operands);

            case 2:
              if (!(
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10591 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2212 (insn, operands);

            case 3:
              if (!(
#line 10584 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10591 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2214 (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 (pattern33 (x2))
            {
            case 0:
              if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2192 (insn, operands);

            case 1:
              if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2195 (insn, operands);

            case 2:
              if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2198 (insn, operands);

            case 3:
              if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2201 (insn, operands);

            default:
              return NULL;
            }

        case UNSPEC:
          if (XVECLEN (x3, 0) != 3
              || XINT (x3, 1) != 293
              || GET_MODE (x3) != E_SImode)
            return NULL;
          x11 = XVECEXP (x3, 0, 1);
          if (x11 != 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 (pattern720 (x3))
            {
            case 0:
              if (!(
#line 10548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10550 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2204 (insn, operands);

            case 1:
              if (!(
#line 10548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10550 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2205 (insn, operands);

            case 2:
              if (!(
#line 10548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10550 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2206 (insn, operands);

            case 3:
              if (!(
#line 10548 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10550 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2207 (insn, operands);

            default:
              return NULL;
            }

        case VEC_DUPLICATE:
          switch (pattern34 (x2))
            {
            case 0:
              if (!(
#line 10636 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10640 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2216 (insn, operands);

            case 1:
              if (!(
#line 10675 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10679 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
                return NULL;
              return gen_split_2219 (insn, operands);

            case 2:
              if (!(
#line 10716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
                return NULL;
              return gen_split_2222 (insn, operands);

            default:
              return NULL;
            }

        default:
          return NULL;
        }

    case SS_MINUS:
      switch (pattern35 (x1))
        {
        case 0:
          if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2193 (insn, operands);

        case 1:
          if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2196 (insn, operands);

        case 2:
          if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2199 (insn, operands);

        case 3:
          if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2202 (insn, operands);

        case 4:
          if (!(
#line 10636 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10640 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2217 (insn, operands);

        case 5:
          if (!(
#line 10675 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10679 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2220 (insn, operands);

        case 6:
          if (!(
#line 10716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2223 (insn, operands);

        default:
          return NULL;
        }

    case US_MINUS:
      switch (pattern35 (x1))
        {
        case 0:
          if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2194 (insn, operands);

        case 1:
          if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2197 (insn, operands);

        case 2:
          if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2200 (insn, operands);

        case 3:
          if (!(
#line 10529 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10531 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2203 (insn, operands);

        case 4:
          if (!(
#line 10636 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10640 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2218 (insn, operands);

        case 5:
          if (!(
#line 10675 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10679 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[3]))))
            return NULL;
          return gen_split_2221 (insn, operands);

        case 6:
          if (!(
#line 10716 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 10720 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !CONSTANT_P (operands[4]))))
            return NULL;
          return gen_split_2224 (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_131 (x1, insn);

    case PARALLEL:
      return split_130 (x1, insn);

    case PREFETCH:
      x2 = XEXP (x1, 0);
      if (GET_CODE (x2) != UNSPEC
          || XVECLEN (x2, 0) != 7
          || XINT (x2, 1) != 157
          || GET_MODE (x2) != E_DImode)
        return NULL;
      x3 = XVECEXP (x2, 0, 2);
      if (GET_CODE (x3) != UNSPEC
          || pattern372 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[0], operands[9]))))
                    return gen_split_646 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[0], operands[9]))))
                    return gen_split_647 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[0], operands[9]))))
                    return gen_split_648 (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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
(TARGET_SVE) && 
#line 2057 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-sve.md"
( !rtx_equal_p (operands[0], operands[9]))))
        return NULL;
      return gen_split_649 (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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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 165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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 (pattern804 (x4, E_DFmode) == 0
          && 
#line 208 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern806 (x4, E_DFmode) != 0
      || !
#line 288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern633 (E_V2DFmode))
        {
        case 0:
          if (
#line 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern676 ())
            {
            case 0:
              if (
#line 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern675 (x2, E_V2DFmode) == 0
              && 
#line 308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern632 (x2, E_V2DFmode) != 0
      || !
#line 329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern633 (E_V2DImode))
        {
        case 0:
          if (
#line 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern676 ())
            {
            case 0:
              if (
#line 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern675 (x2, E_V2DImode) == 0
              && 
#line 308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern632 (x2, E_V2DImode) != 0
      || !
#line 329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern633 (E_V4SFmode))
        {
        case 0:
          if (
#line 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern676 ())
    {
    case 0:
      if (!
#line 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern633 (E_V8BFmode))
        {
        case 0:
          if (
#line 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern676 ())
    {
    case 0:
      if (!
#line 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern633 (E_V8HFmode))
        {
        case 0:
          if (
#line 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern676 ())
    {
    case 0:
      if (!
#line 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern633 (E_V4SImode))
        {
        case 0:
          if (
#line 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern676 ())
    {
    case 0:
      if (!
#line 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern633 (E_V8HImode))
        {
        case 0:
          if (
#line 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern676 ())
    {
    case 0:
      if (!
#line 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern633 (E_V16QImode))
        {
        case 0:
          if (
#line 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 98 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern676 ())
    {
    case 0:
      if (!
#line 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 113 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern630 (E_V2SFmode))
        {
        case 0:
          if (
#line 74 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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 (pattern673 ())
            {
            case 0:
              if (
#line 86 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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 (pattern675 (x2, E_V2SFmode) == 0
              && 
#line 308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern632 (x2, E_V2SFmode) != 0
      || !
#line 329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern630 (E_V2SImode))
        {
        case 0:
          if (
#line 74 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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 (pattern673 ())
            {
            case 0:
              if (
#line 86 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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 (pattern675 (x2, E_V2SImode) == 0
              && 
#line 308 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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 (pattern632 (x2, E_V2SImode) != 0
      || !
#line 329 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(TARGET_FLOAT
   && 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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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 165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern804 (x9, E_SImode) == 0
              && 
#line 188 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern805 (x9, E_SImode) != 0
          || !
#line 268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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 165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern804 (x9, E_DImode) == 0
              && 
#line 188 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern805 (x9, E_DImode) != 0
          || !
#line 268 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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 165 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern804 (x9, E_SFmode) == 0
              && 
#line 208 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern806 (x9, E_SFmode) != 0
          || !
#line 288 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern630 (E_V8QImode))
            {
            case 0:
              if (
#line 74 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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 (pattern673 ())
        {
        case 0:
          if (!
#line 86 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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 (pattern630 (E_V4HImode))
            {
            case 0:
              if (
#line 74 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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 (pattern673 ())
        {
        case 0:
          if (!
#line 86 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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 (pattern630 (E_V4HFmode))
            {
            case 0:
              if (
#line 74 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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-13.5.0-r0/gcc-13.5.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 (pattern673 ())
        {
        case 0:
          if (!
#line 86 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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-13.5.0-r0/gcc-13.5.0/gcc/config/aarch64/aarch64-ldpstp.md"
(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 2174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern574 (x6, E_SImode) != 0
              || !
#line 3274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2174 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern574 (x6, E_DImode) != 0
              || !
#line 3274 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 2186 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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
              || pattern373 (x4, ZERO_EXTEND) != 0)
            return NULL;
          if (
#line 143 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern862 (x9, ZERO_EXTEND) != 0
              || !
#line 248 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern832 (x2, E_SImode) != 0
              || !
#line 3236 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern832 (x2, E_DImode) != 0
              || !
#line 3236 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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
          || pattern43 (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 (pattern628 (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 (pattern628 (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 (pattern629 (x6, E_SImode) == 0
              && 
#line 3295 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern629 (x6, E_DImode) != 0
          || !
#line 3295 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern373 (x4, SIGN_EXTEND) != 0)
        return NULL;
      if (
#line 131 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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 (pattern862 (x9, SIGN_EXTEND) != 0
          || !
#line 228 "../../../../../../../work-shared/gcc-13.5.0-r0/gcc-13.5.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;
    }
}
