Warning, /include/clang/Basic/arm_sme_sema_rangechecks.inc is written in an unsupported language. File is not indexed.
0001 #ifdef GET_SME_IMMEDIATE_CHECK
0002 case SME::BI__builtin_sme_svaddha_za32_s32_m:
0003 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0004 break;
0005 case SME::BI__builtin_sme_svaddha_za32_u32_m:
0006 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0007 break;
0008 case SME::BI__builtin_sme_svaddha_za64_s64_m:
0009 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0010 break;
0011 case SME::BI__builtin_sme_svaddha_za64_u64_m:
0012 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0013 break;
0014 case SME::BI__builtin_sme_svaddva_za32_s32_m:
0015 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0016 break;
0017 case SME::BI__builtin_sme_svaddva_za32_u32_m:
0018 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0019 break;
0020 case SME::BI__builtin_sme_svaddva_za64_s64_m:
0021 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0022 break;
0023 case SME::BI__builtin_sme_svaddva_za64_u64_m:
0024 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0025 break;
0026 case SME::BI__builtin_sme_svbmopa_za32_s32_m:
0027 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0028 break;
0029 case SME::BI__builtin_sme_svbmopa_za32_u32_m:
0030 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0031 break;
0032 case SME::BI__builtin_sme_svbmops_za32_s32_m:
0033 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0034 break;
0035 case SME::BI__builtin_sme_svbmops_za32_u32_m:
0036 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0037 break;
0038 case SME::BI__builtin_sme_svdot_lane_za16_mf8_vg1x2_fpm:
0039 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0040 break;
0041 case SME::BI__builtin_sme_svdot_lane_za16_mf8_vg1x4_fpm:
0042 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0043 break;
0044 case SME::BI__builtin_sme_svdot_lane_za32_bf16_vg1x2:
0045 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0046 break;
0047 case SME::BI__builtin_sme_svdot_lane_za32_bf16_vg1x4:
0048 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0049 break;
0050 case SME::BI__builtin_sme_svdot_lane_za32_f16_vg1x2:
0051 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0052 break;
0053 case SME::BI__builtin_sme_svdot_lane_za32_f16_vg1x4:
0054 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0055 break;
0056 case SME::BI__builtin_sme_svdot_lane_za32_mf8_vg1x2_fpm:
0057 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0058 break;
0059 case SME::BI__builtin_sme_svdot_lane_za32_mf8_vg1x4_fpm:
0060 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0061 break;
0062 case SME::BI__builtin_sme_svdot_lane_za32_s16_vg1x2:
0063 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0064 break;
0065 case SME::BI__builtin_sme_svdot_lane_za32_s16_vg1x4:
0066 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0067 break;
0068 case SME::BI__builtin_sme_svdot_lane_za32_s8_vg1x2:
0069 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0070 break;
0071 case SME::BI__builtin_sme_svdot_lane_za32_s8_vg1x4:
0072 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0073 break;
0074 case SME::BI__builtin_sme_svdot_lane_za32_u16_vg1x2:
0075 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0076 break;
0077 case SME::BI__builtin_sme_svdot_lane_za32_u16_vg1x4:
0078 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0079 break;
0080 case SME::BI__builtin_sme_svdot_lane_za32_u8_vg1x2:
0081 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0082 break;
0083 case SME::BI__builtin_sme_svdot_lane_za32_u8_vg1x4:
0084 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0085 break;
0086 case SME::BI__builtin_sme_svdot_lane_za64_s16_vg1x2:
0087 ImmChecks.push_back(std::make_tuple(3, 14, 0));
0088 break;
0089 case SME::BI__builtin_sme_svdot_lane_za64_s16_vg1x4:
0090 ImmChecks.push_back(std::make_tuple(3, 14, 0));
0091 break;
0092 case SME::BI__builtin_sme_svdot_lane_za64_u16_vg1x2:
0093 ImmChecks.push_back(std::make_tuple(3, 14, 0));
0094 break;
0095 case SME::BI__builtin_sme_svdot_lane_za64_u16_vg1x4:
0096 ImmChecks.push_back(std::make_tuple(3, 14, 0));
0097 break;
0098 case SME::BI__builtin_sme_svld1_hor_vnum_za128:
0099 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0100 break;
0101 case SME::BI__builtin_sme_svld1_hor_vnum_za16:
0102 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0103 break;
0104 case SME::BI__builtin_sme_svld1_hor_vnum_za32:
0105 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0106 break;
0107 case SME::BI__builtin_sme_svld1_hor_vnum_za64:
0108 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0109 break;
0110 case SME::BI__builtin_sme_svld1_hor_vnum_za8:
0111 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0112 break;
0113 case SME::BI__builtin_sme_svld1_hor_za128:
0114 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0115 break;
0116 case SME::BI__builtin_sme_svld1_hor_za16:
0117 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0118 break;
0119 case SME::BI__builtin_sme_svld1_hor_za32:
0120 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0121 break;
0122 case SME::BI__builtin_sme_svld1_hor_za64:
0123 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0124 break;
0125 case SME::BI__builtin_sme_svld1_hor_za8:
0126 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0127 break;
0128 case SME::BI__builtin_sme_svld1_ver_vnum_za128:
0129 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0130 break;
0131 case SME::BI__builtin_sme_svld1_ver_vnum_za16:
0132 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0133 break;
0134 case SME::BI__builtin_sme_svld1_ver_vnum_za32:
0135 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0136 break;
0137 case SME::BI__builtin_sme_svld1_ver_vnum_za64:
0138 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0139 break;
0140 case SME::BI__builtin_sme_svld1_ver_vnum_za8:
0141 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0142 break;
0143 case SME::BI__builtin_sme_svld1_ver_za128:
0144 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0145 break;
0146 case SME::BI__builtin_sme_svld1_ver_za16:
0147 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0148 break;
0149 case SME::BI__builtin_sme_svld1_ver_za32:
0150 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0151 break;
0152 case SME::BI__builtin_sme_svld1_ver_za64:
0153 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0154 break;
0155 case SME::BI__builtin_sme_svld1_ver_za8:
0156 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0157 break;
0158 case SME::BI__builtin_sme_svldr_zt:
0159 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0160 break;
0161 case SME::BI__builtin_sme_svluti2_lane_zt_bf16:
0162 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0163 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0164 break;
0165 case SME::BI__builtin_sme_svluti2_lane_zt_bf16_x2:
0166 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0167 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0168 break;
0169 case SME::BI__builtin_sme_svluti2_lane_zt_bf16_x4:
0170 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0171 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0172 break;
0173 case SME::BI__builtin_sme_svluti2_lane_zt_f16:
0174 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0175 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0176 break;
0177 case SME::BI__builtin_sme_svluti2_lane_zt_f16_x2:
0178 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0179 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0180 break;
0181 case SME::BI__builtin_sme_svluti2_lane_zt_f16_x4:
0182 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0183 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0184 break;
0185 case SME::BI__builtin_sme_svluti2_lane_zt_f32:
0186 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0187 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0188 break;
0189 case SME::BI__builtin_sme_svluti2_lane_zt_f32_x2:
0190 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0191 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0192 break;
0193 case SME::BI__builtin_sme_svluti2_lane_zt_f32_x4:
0194 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0195 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0196 break;
0197 case SME::BI__builtin_sme_svluti2_lane_zt_s16:
0198 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0199 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0200 break;
0201 case SME::BI__builtin_sme_svluti2_lane_zt_s16_x2:
0202 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0203 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0204 break;
0205 case SME::BI__builtin_sme_svluti2_lane_zt_s16_x4:
0206 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0207 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0208 break;
0209 case SME::BI__builtin_sme_svluti2_lane_zt_s32:
0210 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0211 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0212 break;
0213 case SME::BI__builtin_sme_svluti2_lane_zt_s32_x2:
0214 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0215 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0216 break;
0217 case SME::BI__builtin_sme_svluti2_lane_zt_s32_x4:
0218 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0219 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0220 break;
0221 case SME::BI__builtin_sme_svluti2_lane_zt_s8:
0222 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0223 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0224 break;
0225 case SME::BI__builtin_sme_svluti2_lane_zt_s8_x2:
0226 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0227 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0228 break;
0229 case SME::BI__builtin_sme_svluti2_lane_zt_s8_x4:
0230 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0231 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0232 break;
0233 case SME::BI__builtin_sme_svluti2_lane_zt_u16:
0234 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0235 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0236 break;
0237 case SME::BI__builtin_sme_svluti2_lane_zt_u16_x2:
0238 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0239 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0240 break;
0241 case SME::BI__builtin_sme_svluti2_lane_zt_u16_x4:
0242 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0243 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0244 break;
0245 case SME::BI__builtin_sme_svluti2_lane_zt_u32:
0246 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0247 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0248 break;
0249 case SME::BI__builtin_sme_svluti2_lane_zt_u32_x2:
0250 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0251 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0252 break;
0253 case SME::BI__builtin_sme_svluti2_lane_zt_u32_x4:
0254 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0255 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0256 break;
0257 case SME::BI__builtin_sme_svluti2_lane_zt_u8:
0258 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0259 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0260 break;
0261 case SME::BI__builtin_sme_svluti2_lane_zt_u8_x2:
0262 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0263 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0264 break;
0265 case SME::BI__builtin_sme_svluti2_lane_zt_u8_x4:
0266 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0267 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0268 break;
0269 case SME::BI__builtin_sme_svluti4_lane_zt_bf16:
0270 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0271 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0272 break;
0273 case SME::BI__builtin_sme_svluti4_lane_zt_bf16_x2:
0274 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0275 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0276 break;
0277 case SME::BI__builtin_sme_svluti4_lane_zt_bf16_x4:
0278 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0279 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0280 break;
0281 case SME::BI__builtin_sme_svluti4_lane_zt_f16:
0282 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0283 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0284 break;
0285 case SME::BI__builtin_sme_svluti4_lane_zt_f16_x2:
0286 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0287 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0288 break;
0289 case SME::BI__builtin_sme_svluti4_lane_zt_f16_x4:
0290 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0291 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0292 break;
0293 case SME::BI__builtin_sme_svluti4_lane_zt_f32:
0294 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0295 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0296 break;
0297 case SME::BI__builtin_sme_svluti4_lane_zt_f32_x2:
0298 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0299 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0300 break;
0301 case SME::BI__builtin_sme_svluti4_lane_zt_f32_x4:
0302 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0303 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0304 break;
0305 case SME::BI__builtin_sme_svluti4_lane_zt_s16:
0306 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0307 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0308 break;
0309 case SME::BI__builtin_sme_svluti4_lane_zt_s16_x2:
0310 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0311 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0312 break;
0313 case SME::BI__builtin_sme_svluti4_lane_zt_s16_x4:
0314 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0315 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0316 break;
0317 case SME::BI__builtin_sme_svluti4_lane_zt_s32:
0318 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0319 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0320 break;
0321 case SME::BI__builtin_sme_svluti4_lane_zt_s32_x2:
0322 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0323 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0324 break;
0325 case SME::BI__builtin_sme_svluti4_lane_zt_s32_x4:
0326 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0327 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0328 break;
0329 case SME::BI__builtin_sme_svluti4_lane_zt_s8:
0330 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0331 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0332 break;
0333 case SME::BI__builtin_sme_svluti4_lane_zt_s8_x2:
0334 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0335 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0336 break;
0337 case SME::BI__builtin_sme_svluti4_lane_zt_u16:
0338 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0339 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0340 break;
0341 case SME::BI__builtin_sme_svluti4_lane_zt_u16_x2:
0342 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0343 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0344 break;
0345 case SME::BI__builtin_sme_svluti4_lane_zt_u16_x4:
0346 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0347 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0348 break;
0349 case SME::BI__builtin_sme_svluti4_lane_zt_u32:
0350 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0351 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0352 break;
0353 case SME::BI__builtin_sme_svluti4_lane_zt_u32_x2:
0354 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0355 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0356 break;
0357 case SME::BI__builtin_sme_svluti4_lane_zt_u32_x4:
0358 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0359 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0360 break;
0361 case SME::BI__builtin_sme_svluti4_lane_zt_u8:
0362 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0363 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0364 break;
0365 case SME::BI__builtin_sme_svluti4_lane_zt_u8_x2:
0366 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0367 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0368 break;
0369 case SME::BI__builtin_sme_svluti4_zt_s8_x4:
0370 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0371 break;
0372 case SME::BI__builtin_sme_svluti4_zt_u8_x4:
0373 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0374 break;
0375 case SME::BI__builtin_sme_svmla_lane_za16_bf16_vg1x2:
0376 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0377 break;
0378 case SME::BI__builtin_sme_svmla_lane_za16_bf16_vg1x4:
0379 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0380 break;
0381 case SME::BI__builtin_sme_svmla_lane_za16_f16_vg1x2:
0382 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0383 break;
0384 case SME::BI__builtin_sme_svmla_lane_za16_f16_vg1x4:
0385 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0386 break;
0387 case SME::BI__builtin_sme_svmla_lane_za16_mf8_vg2x1_fpm:
0388 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0389 break;
0390 case SME::BI__builtin_sme_svmla_lane_za16_mf8_vg2x2_fpm:
0391 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0392 break;
0393 case SME::BI__builtin_sme_svmla_lane_za16_mf8_vg2x4_fpm:
0394 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0395 break;
0396 case SME::BI__builtin_sme_svmla_lane_za32_bf16_vg2x1:
0397 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0398 break;
0399 case SME::BI__builtin_sme_svmla_lane_za32_bf16_vg2x2:
0400 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0401 break;
0402 case SME::BI__builtin_sme_svmla_lane_za32_bf16_vg2x4:
0403 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0404 break;
0405 case SME::BI__builtin_sme_svmla_lane_za32_f16_vg2x1:
0406 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0407 break;
0408 case SME::BI__builtin_sme_svmla_lane_za32_f16_vg2x2:
0409 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0410 break;
0411 case SME::BI__builtin_sme_svmla_lane_za32_f16_vg2x4:
0412 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0413 break;
0414 case SME::BI__builtin_sme_svmla_lane_za32_f32_vg1x2:
0415 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0416 break;
0417 case SME::BI__builtin_sme_svmla_lane_za32_f32_vg1x4:
0418 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0419 break;
0420 case SME::BI__builtin_sme_svmla_lane_za32_mf8_vg4x1_fpm:
0421 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0422 break;
0423 case SME::BI__builtin_sme_svmla_lane_za32_mf8_vg4x2_fpm:
0424 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0425 break;
0426 case SME::BI__builtin_sme_svmla_lane_za32_mf8_vg4x4_fpm:
0427 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0428 break;
0429 case SME::BI__builtin_sme_svmla_lane_za32_s16_vg2x1:
0430 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0431 break;
0432 case SME::BI__builtin_sme_svmla_lane_za32_s16_vg2x2:
0433 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0434 break;
0435 case SME::BI__builtin_sme_svmla_lane_za32_s16_vg2x4:
0436 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0437 break;
0438 case SME::BI__builtin_sme_svmla_lane_za32_s8_vg4x1:
0439 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0440 break;
0441 case SME::BI__builtin_sme_svmla_lane_za32_s8_vg4x2:
0442 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0443 break;
0444 case SME::BI__builtin_sme_svmla_lane_za32_s8_vg4x4:
0445 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0446 break;
0447 case SME::BI__builtin_sme_svmla_lane_za32_u16_vg2x1:
0448 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0449 break;
0450 case SME::BI__builtin_sme_svmla_lane_za32_u16_vg2x2:
0451 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0452 break;
0453 case SME::BI__builtin_sme_svmla_lane_za32_u16_vg2x4:
0454 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0455 break;
0456 case SME::BI__builtin_sme_svmla_lane_za32_u8_vg4x1:
0457 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0458 break;
0459 case SME::BI__builtin_sme_svmla_lane_za32_u8_vg4x2:
0460 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0461 break;
0462 case SME::BI__builtin_sme_svmla_lane_za32_u8_vg4x4:
0463 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0464 break;
0465 case SME::BI__builtin_sme_svmla_lane_za64_f64_vg1x2:
0466 ImmChecks.push_back(std::make_tuple(3, 14, 0));
0467 break;
0468 case SME::BI__builtin_sme_svmla_lane_za64_f64_vg1x4:
0469 ImmChecks.push_back(std::make_tuple(3, 14, 0));
0470 break;
0471 case SME::BI__builtin_sme_svmla_lane_za64_s16_vg4x1:
0472 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0473 break;
0474 case SME::BI__builtin_sme_svmla_lane_za64_s16_vg4x2:
0475 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0476 break;
0477 case SME::BI__builtin_sme_svmla_lane_za64_s16_vg4x4:
0478 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0479 break;
0480 case SME::BI__builtin_sme_svmla_lane_za64_u16_vg4x1:
0481 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0482 break;
0483 case SME::BI__builtin_sme_svmla_lane_za64_u16_vg4x2:
0484 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0485 break;
0486 case SME::BI__builtin_sme_svmla_lane_za64_u16_vg4x4:
0487 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0488 break;
0489 case SME::BI__builtin_sme_svmls_lane_za16_bf16_vg1x2:
0490 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0491 break;
0492 case SME::BI__builtin_sme_svmls_lane_za16_bf16_vg1x4:
0493 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0494 break;
0495 case SME::BI__builtin_sme_svmls_lane_za16_f16_vg1x2:
0496 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0497 break;
0498 case SME::BI__builtin_sme_svmls_lane_za16_f16_vg1x4:
0499 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0500 break;
0501 case SME::BI__builtin_sme_svmls_lane_za32_bf16_vg2x1:
0502 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0503 break;
0504 case SME::BI__builtin_sme_svmls_lane_za32_bf16_vg2x2:
0505 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0506 break;
0507 case SME::BI__builtin_sme_svmls_lane_za32_bf16_vg2x4:
0508 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0509 break;
0510 case SME::BI__builtin_sme_svmls_lane_za32_f16_vg2x1:
0511 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0512 break;
0513 case SME::BI__builtin_sme_svmls_lane_za32_f16_vg2x2:
0514 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0515 break;
0516 case SME::BI__builtin_sme_svmls_lane_za32_f16_vg2x4:
0517 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0518 break;
0519 case SME::BI__builtin_sme_svmls_lane_za32_f32_vg1x2:
0520 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0521 break;
0522 case SME::BI__builtin_sme_svmls_lane_za32_f32_vg1x4:
0523 ImmChecks.push_back(std::make_tuple(3, 16, 0));
0524 break;
0525 case SME::BI__builtin_sme_svmls_lane_za32_s16_vg2x1:
0526 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0527 break;
0528 case SME::BI__builtin_sme_svmls_lane_za32_s16_vg2x2:
0529 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0530 break;
0531 case SME::BI__builtin_sme_svmls_lane_za32_s16_vg2x4:
0532 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0533 break;
0534 case SME::BI__builtin_sme_svmls_lane_za32_s8_vg4x1:
0535 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0536 break;
0537 case SME::BI__builtin_sme_svmls_lane_za32_s8_vg4x2:
0538 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0539 break;
0540 case SME::BI__builtin_sme_svmls_lane_za32_s8_vg4x4:
0541 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0542 break;
0543 case SME::BI__builtin_sme_svmls_lane_za32_u16_vg2x1:
0544 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0545 break;
0546 case SME::BI__builtin_sme_svmls_lane_za32_u16_vg2x2:
0547 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0548 break;
0549 case SME::BI__builtin_sme_svmls_lane_za32_u16_vg2x4:
0550 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0551 break;
0552 case SME::BI__builtin_sme_svmls_lane_za32_u8_vg4x1:
0553 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0554 break;
0555 case SME::BI__builtin_sme_svmls_lane_za32_u8_vg4x2:
0556 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0557 break;
0558 case SME::BI__builtin_sme_svmls_lane_za32_u8_vg4x4:
0559 ImmChecks.push_back(std::make_tuple(3, 18, 0));
0560 break;
0561 case SME::BI__builtin_sme_svmls_lane_za64_f64_vg1x2:
0562 ImmChecks.push_back(std::make_tuple(3, 14, 0));
0563 break;
0564 case SME::BI__builtin_sme_svmls_lane_za64_f64_vg1x4:
0565 ImmChecks.push_back(std::make_tuple(3, 14, 0));
0566 break;
0567 case SME::BI__builtin_sme_svmls_lane_za64_s16_vg4x1:
0568 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0569 break;
0570 case SME::BI__builtin_sme_svmls_lane_za64_s16_vg4x2:
0571 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0572 break;
0573 case SME::BI__builtin_sme_svmls_lane_za64_s16_vg4x4:
0574 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0575 break;
0576 case SME::BI__builtin_sme_svmls_lane_za64_u16_vg4x1:
0577 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0578 break;
0579 case SME::BI__builtin_sme_svmls_lane_za64_u16_vg4x2:
0580 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0581 break;
0582 case SME::BI__builtin_sme_svmls_lane_za64_u16_vg4x4:
0583 ImmChecks.push_back(std::make_tuple(3, 6, 0));
0584 break;
0585 case SME::BI__builtin_sme_svmopa_za16_bf16_m:
0586 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0587 break;
0588 case SME::BI__builtin_sme_svmopa_za16_f16_m:
0589 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0590 break;
0591 case SME::BI__builtin_sme_svmopa_za16_mf8_m_fpm:
0592 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0593 break;
0594 case SME::BI__builtin_sme_svmopa_za32_bf16_m:
0595 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0596 break;
0597 case SME::BI__builtin_sme_svmopa_za32_f16_m:
0598 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0599 break;
0600 case SME::BI__builtin_sme_svmopa_za32_f32_m:
0601 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0602 break;
0603 case SME::BI__builtin_sme_svmopa_za32_mf8_m_fpm:
0604 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0605 break;
0606 case SME::BI__builtin_sme_svmopa_za32_s16_m:
0607 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0608 break;
0609 case SME::BI__builtin_sme_svmopa_za32_s8_m:
0610 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0611 break;
0612 case SME::BI__builtin_sme_svmopa_za32_u16_m:
0613 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0614 break;
0615 case SME::BI__builtin_sme_svmopa_za32_u8_m:
0616 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0617 break;
0618 case SME::BI__builtin_sme_svmopa_za64_f64_m:
0619 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0620 break;
0621 case SME::BI__builtin_sme_svmopa_za64_s16_m:
0622 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0623 break;
0624 case SME::BI__builtin_sme_svmopa_za64_u16_m:
0625 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0626 break;
0627 case SME::BI__builtin_sme_svmops_za16_bf16_m:
0628 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0629 break;
0630 case SME::BI__builtin_sme_svmops_za16_f16_m:
0631 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0632 break;
0633 case SME::BI__builtin_sme_svmops_za32_bf16_m:
0634 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0635 break;
0636 case SME::BI__builtin_sme_svmops_za32_f16_m:
0637 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0638 break;
0639 case SME::BI__builtin_sme_svmops_za32_f32_m:
0640 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0641 break;
0642 case SME::BI__builtin_sme_svmops_za32_s16_m:
0643 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0644 break;
0645 case SME::BI__builtin_sme_svmops_za32_s8_m:
0646 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0647 break;
0648 case SME::BI__builtin_sme_svmops_za32_u16_m:
0649 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0650 break;
0651 case SME::BI__builtin_sme_svmops_za32_u8_m:
0652 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0653 break;
0654 case SME::BI__builtin_sme_svmops_za64_f64_m:
0655 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0656 break;
0657 case SME::BI__builtin_sme_svmops_za64_s16_m:
0658 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0659 break;
0660 case SME::BI__builtin_sme_svmops_za64_u16_m:
0661 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0662 break;
0663 case SME::BI__builtin_sme_svread_hor_za128_bf16_m:
0664 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0665 break;
0666 case SME::BI__builtin_sme_svread_hor_za128_f16_m:
0667 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0668 break;
0669 case SME::BI__builtin_sme_svread_hor_za128_f32_m:
0670 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0671 break;
0672 case SME::BI__builtin_sme_svread_hor_za128_f64_m:
0673 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0674 break;
0675 case SME::BI__builtin_sme_svread_hor_za128_s16_m:
0676 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0677 break;
0678 case SME::BI__builtin_sme_svread_hor_za128_s32_m:
0679 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0680 break;
0681 case SME::BI__builtin_sme_svread_hor_za128_s64_m:
0682 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0683 break;
0684 case SME::BI__builtin_sme_svread_hor_za128_s8_m:
0685 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0686 break;
0687 case SME::BI__builtin_sme_svread_hor_za128_u16_m:
0688 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0689 break;
0690 case SME::BI__builtin_sme_svread_hor_za128_u32_m:
0691 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0692 break;
0693 case SME::BI__builtin_sme_svread_hor_za128_u64_m:
0694 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0695 break;
0696 case SME::BI__builtin_sme_svread_hor_za128_u8_m:
0697 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0698 break;
0699 case SME::BI__builtin_sme_svread_hor_za16_bf16_m:
0700 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0701 break;
0702 case SME::BI__builtin_sme_svread_hor_za16_bf16_vg2:
0703 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0704 break;
0705 case SME::BI__builtin_sme_svread_hor_za16_bf16_vg4:
0706 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0707 break;
0708 case SME::BI__builtin_sme_svread_hor_za16_f16_m:
0709 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0710 break;
0711 case SME::BI__builtin_sme_svread_hor_za16_f16_vg2:
0712 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0713 break;
0714 case SME::BI__builtin_sme_svread_hor_za16_f16_vg4:
0715 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0716 break;
0717 case SME::BI__builtin_sme_svread_hor_za16_s16_m:
0718 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0719 break;
0720 case SME::BI__builtin_sme_svread_hor_za16_s16_vg2:
0721 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0722 break;
0723 case SME::BI__builtin_sme_svread_hor_za16_s16_vg4:
0724 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0725 break;
0726 case SME::BI__builtin_sme_svread_hor_za16_u16_m:
0727 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0728 break;
0729 case SME::BI__builtin_sme_svread_hor_za16_u16_vg2:
0730 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0731 break;
0732 case SME::BI__builtin_sme_svread_hor_za16_u16_vg4:
0733 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0734 break;
0735 case SME::BI__builtin_sme_svread_hor_za32_f32_m:
0736 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0737 break;
0738 case SME::BI__builtin_sme_svread_hor_za32_f32_vg2:
0739 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0740 break;
0741 case SME::BI__builtin_sme_svread_hor_za32_f32_vg4:
0742 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0743 break;
0744 case SME::BI__builtin_sme_svread_hor_za32_s32_m:
0745 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0746 break;
0747 case SME::BI__builtin_sme_svread_hor_za32_s32_vg2:
0748 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0749 break;
0750 case SME::BI__builtin_sme_svread_hor_za32_s32_vg4:
0751 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0752 break;
0753 case SME::BI__builtin_sme_svread_hor_za32_u32_m:
0754 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0755 break;
0756 case SME::BI__builtin_sme_svread_hor_za32_u32_vg2:
0757 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0758 break;
0759 case SME::BI__builtin_sme_svread_hor_za32_u32_vg4:
0760 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0761 break;
0762 case SME::BI__builtin_sme_svread_hor_za64_f64_m:
0763 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0764 break;
0765 case SME::BI__builtin_sme_svread_hor_za64_f64_vg2:
0766 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0767 break;
0768 case SME::BI__builtin_sme_svread_hor_za64_f64_vg4:
0769 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0770 break;
0771 case SME::BI__builtin_sme_svread_hor_za64_s64_m:
0772 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0773 break;
0774 case SME::BI__builtin_sme_svread_hor_za64_s64_vg2:
0775 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0776 break;
0777 case SME::BI__builtin_sme_svread_hor_za64_s64_vg4:
0778 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0779 break;
0780 case SME::BI__builtin_sme_svread_hor_za64_u64_m:
0781 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0782 break;
0783 case SME::BI__builtin_sme_svread_hor_za64_u64_vg2:
0784 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0785 break;
0786 case SME::BI__builtin_sme_svread_hor_za64_u64_vg4:
0787 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0788 break;
0789 case SME::BI__builtin_sme_svread_hor_za8_s8_m:
0790 ImmChecks.push_back(std::make_tuple(2, 17, 0));
0791 break;
0792 case SME::BI__builtin_sme_svread_hor_za8_s8_vg2:
0793 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0794 break;
0795 case SME::BI__builtin_sme_svread_hor_za8_s8_vg4:
0796 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0797 break;
0798 case SME::BI__builtin_sme_svread_hor_za8_u8_m:
0799 ImmChecks.push_back(std::make_tuple(2, 17, 0));
0800 break;
0801 case SME::BI__builtin_sme_svread_hor_za8_u8_vg2:
0802 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0803 break;
0804 case SME::BI__builtin_sme_svread_hor_za8_u8_vg4:
0805 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0806 break;
0807 case SME::BI__builtin_sme_svread_ver_za128_bf16_m:
0808 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0809 break;
0810 case SME::BI__builtin_sme_svread_ver_za128_f16_m:
0811 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0812 break;
0813 case SME::BI__builtin_sme_svread_ver_za128_f32_m:
0814 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0815 break;
0816 case SME::BI__builtin_sme_svread_ver_za128_f64_m:
0817 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0818 break;
0819 case SME::BI__builtin_sme_svread_ver_za128_s16_m:
0820 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0821 break;
0822 case SME::BI__builtin_sme_svread_ver_za128_s32_m:
0823 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0824 break;
0825 case SME::BI__builtin_sme_svread_ver_za128_s64_m:
0826 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0827 break;
0828 case SME::BI__builtin_sme_svread_ver_za128_s8_m:
0829 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0830 break;
0831 case SME::BI__builtin_sme_svread_ver_za128_u16_m:
0832 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0833 break;
0834 case SME::BI__builtin_sme_svread_ver_za128_u32_m:
0835 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0836 break;
0837 case SME::BI__builtin_sme_svread_ver_za128_u64_m:
0838 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0839 break;
0840 case SME::BI__builtin_sme_svread_ver_za128_u8_m:
0841 ImmChecks.push_back(std::make_tuple(2, 18, 0));
0842 break;
0843 case SME::BI__builtin_sme_svread_ver_za16_bf16_m:
0844 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0845 break;
0846 case SME::BI__builtin_sme_svread_ver_za16_bf16_vg2:
0847 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0848 break;
0849 case SME::BI__builtin_sme_svread_ver_za16_bf16_vg4:
0850 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0851 break;
0852 case SME::BI__builtin_sme_svread_ver_za16_f16_m:
0853 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0854 break;
0855 case SME::BI__builtin_sme_svread_ver_za16_f16_vg2:
0856 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0857 break;
0858 case SME::BI__builtin_sme_svread_ver_za16_f16_vg4:
0859 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0860 break;
0861 case SME::BI__builtin_sme_svread_ver_za16_s16_m:
0862 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0863 break;
0864 case SME::BI__builtin_sme_svread_ver_za16_s16_vg2:
0865 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0866 break;
0867 case SME::BI__builtin_sme_svread_ver_za16_s16_vg4:
0868 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0869 break;
0870 case SME::BI__builtin_sme_svread_ver_za16_u16_m:
0871 ImmChecks.push_back(std::make_tuple(2, 14, 0));
0872 break;
0873 case SME::BI__builtin_sme_svread_ver_za16_u16_vg2:
0874 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0875 break;
0876 case SME::BI__builtin_sme_svread_ver_za16_u16_vg4:
0877 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0878 break;
0879 case SME::BI__builtin_sme_svread_ver_za32_f32_m:
0880 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0881 break;
0882 case SME::BI__builtin_sme_svread_ver_za32_f32_vg2:
0883 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0884 break;
0885 case SME::BI__builtin_sme_svread_ver_za32_f32_vg4:
0886 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0887 break;
0888 case SME::BI__builtin_sme_svread_ver_za32_s32_m:
0889 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0890 break;
0891 case SME::BI__builtin_sme_svread_ver_za32_s32_vg2:
0892 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0893 break;
0894 case SME::BI__builtin_sme_svread_ver_za32_s32_vg4:
0895 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0896 break;
0897 case SME::BI__builtin_sme_svread_ver_za32_u32_m:
0898 ImmChecks.push_back(std::make_tuple(2, 16, 0));
0899 break;
0900 case SME::BI__builtin_sme_svread_ver_za32_u32_vg2:
0901 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0902 break;
0903 case SME::BI__builtin_sme_svread_ver_za32_u32_vg4:
0904 ImmChecks.push_back(std::make_tuple(0, 16, 0));
0905 break;
0906 case SME::BI__builtin_sme_svread_ver_za64_f64_m:
0907 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0908 break;
0909 case SME::BI__builtin_sme_svread_ver_za64_f64_vg2:
0910 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0911 break;
0912 case SME::BI__builtin_sme_svread_ver_za64_f64_vg4:
0913 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0914 break;
0915 case SME::BI__builtin_sme_svread_ver_za64_s64_m:
0916 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0917 break;
0918 case SME::BI__builtin_sme_svread_ver_za64_s64_vg2:
0919 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0920 break;
0921 case SME::BI__builtin_sme_svread_ver_za64_s64_vg4:
0922 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0923 break;
0924 case SME::BI__builtin_sme_svread_ver_za64_u64_m:
0925 ImmChecks.push_back(std::make_tuple(2, 6, 0));
0926 break;
0927 case SME::BI__builtin_sme_svread_ver_za64_u64_vg2:
0928 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0929 break;
0930 case SME::BI__builtin_sme_svread_ver_za64_u64_vg4:
0931 ImmChecks.push_back(std::make_tuple(0, 6, 0));
0932 break;
0933 case SME::BI__builtin_sme_svread_ver_za8_s8_m:
0934 ImmChecks.push_back(std::make_tuple(2, 17, 0));
0935 break;
0936 case SME::BI__builtin_sme_svread_ver_za8_s8_vg2:
0937 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0938 break;
0939 case SME::BI__builtin_sme_svread_ver_za8_s8_vg4:
0940 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0941 break;
0942 case SME::BI__builtin_sme_svread_ver_za8_u8_m:
0943 ImmChecks.push_back(std::make_tuple(2, 17, 0));
0944 break;
0945 case SME::BI__builtin_sme_svread_ver_za8_u8_vg2:
0946 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0947 break;
0948 case SME::BI__builtin_sme_svread_ver_za8_u8_vg4:
0949 ImmChecks.push_back(std::make_tuple(0, 17, 0));
0950 break;
0951 case SME::BI__builtin_sme_svreadz_hor_za128_bf16:
0952 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0953 break;
0954 case SME::BI__builtin_sme_svreadz_hor_za128_f16:
0955 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0956 break;
0957 case SME::BI__builtin_sme_svreadz_hor_za128_f32:
0958 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0959 break;
0960 case SME::BI__builtin_sme_svreadz_hor_za128_f64:
0961 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0962 break;
0963 case SME::BI__builtin_sme_svreadz_hor_za128_s16:
0964 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0965 break;
0966 case SME::BI__builtin_sme_svreadz_hor_za128_s32:
0967 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0968 break;
0969 case SME::BI__builtin_sme_svreadz_hor_za128_s64:
0970 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0971 break;
0972 case SME::BI__builtin_sme_svreadz_hor_za128_s8:
0973 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0974 break;
0975 case SME::BI__builtin_sme_svreadz_hor_za128_u16:
0976 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0977 break;
0978 case SME::BI__builtin_sme_svreadz_hor_za128_u32:
0979 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0980 break;
0981 case SME::BI__builtin_sme_svreadz_hor_za128_u64:
0982 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0983 break;
0984 case SME::BI__builtin_sme_svreadz_hor_za128_u8:
0985 ImmChecks.push_back(std::make_tuple(0, 18, 0));
0986 break;
0987 case SME::BI__builtin_sme_svreadz_hor_za16_bf16:
0988 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0989 break;
0990 case SME::BI__builtin_sme_svreadz_hor_za16_bf16_vg2:
0991 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0992 break;
0993 case SME::BI__builtin_sme_svreadz_hor_za16_bf16_vg4:
0994 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0995 break;
0996 case SME::BI__builtin_sme_svreadz_hor_za16_f16:
0997 ImmChecks.push_back(std::make_tuple(0, 14, 0));
0998 break;
0999 case SME::BI__builtin_sme_svreadz_hor_za16_f16_vg2:
1000 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1001 break;
1002 case SME::BI__builtin_sme_svreadz_hor_za16_f16_vg4:
1003 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1004 break;
1005 case SME::BI__builtin_sme_svreadz_hor_za16_s16:
1006 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1007 break;
1008 case SME::BI__builtin_sme_svreadz_hor_za16_s16_vg2:
1009 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1010 break;
1011 case SME::BI__builtin_sme_svreadz_hor_za16_s16_vg4:
1012 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1013 break;
1014 case SME::BI__builtin_sme_svreadz_hor_za16_u16:
1015 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1016 break;
1017 case SME::BI__builtin_sme_svreadz_hor_za16_u16_vg2:
1018 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1019 break;
1020 case SME::BI__builtin_sme_svreadz_hor_za16_u16_vg4:
1021 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1022 break;
1023 case SME::BI__builtin_sme_svreadz_hor_za32_f32:
1024 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1025 break;
1026 case SME::BI__builtin_sme_svreadz_hor_za32_f32_vg2:
1027 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1028 break;
1029 case SME::BI__builtin_sme_svreadz_hor_za32_f32_vg4:
1030 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1031 break;
1032 case SME::BI__builtin_sme_svreadz_hor_za32_s32:
1033 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1034 break;
1035 case SME::BI__builtin_sme_svreadz_hor_za32_s32_vg2:
1036 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1037 break;
1038 case SME::BI__builtin_sme_svreadz_hor_za32_s32_vg4:
1039 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1040 break;
1041 case SME::BI__builtin_sme_svreadz_hor_za32_u32:
1042 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1043 break;
1044 case SME::BI__builtin_sme_svreadz_hor_za32_u32_vg2:
1045 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1046 break;
1047 case SME::BI__builtin_sme_svreadz_hor_za32_u32_vg4:
1048 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1049 break;
1050 case SME::BI__builtin_sme_svreadz_hor_za64_f64:
1051 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1052 break;
1053 case SME::BI__builtin_sme_svreadz_hor_za64_f64_vg2:
1054 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1055 break;
1056 case SME::BI__builtin_sme_svreadz_hor_za64_f64_vg4:
1057 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1058 break;
1059 case SME::BI__builtin_sme_svreadz_hor_za64_s64:
1060 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1061 break;
1062 case SME::BI__builtin_sme_svreadz_hor_za64_s64_vg2:
1063 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1064 break;
1065 case SME::BI__builtin_sme_svreadz_hor_za64_s64_vg4:
1066 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1067 break;
1068 case SME::BI__builtin_sme_svreadz_hor_za64_u64:
1069 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1070 break;
1071 case SME::BI__builtin_sme_svreadz_hor_za64_u64_vg2:
1072 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1073 break;
1074 case SME::BI__builtin_sme_svreadz_hor_za64_u64_vg4:
1075 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1076 break;
1077 case SME::BI__builtin_sme_svreadz_hor_za8_s8:
1078 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1079 break;
1080 case SME::BI__builtin_sme_svreadz_hor_za8_s8_vg2:
1081 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1082 break;
1083 case SME::BI__builtin_sme_svreadz_hor_za8_s8_vg4:
1084 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1085 break;
1086 case SME::BI__builtin_sme_svreadz_hor_za8_u8:
1087 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1088 break;
1089 case SME::BI__builtin_sme_svreadz_hor_za8_u8_vg2:
1090 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1091 break;
1092 case SME::BI__builtin_sme_svreadz_hor_za8_u8_vg4:
1093 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1094 break;
1095 case SME::BI__builtin_sme_svreadz_ver_za128_bf16:
1096 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1097 break;
1098 case SME::BI__builtin_sme_svreadz_ver_za128_f16:
1099 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1100 break;
1101 case SME::BI__builtin_sme_svreadz_ver_za128_f32:
1102 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1103 break;
1104 case SME::BI__builtin_sme_svreadz_ver_za128_f64:
1105 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1106 break;
1107 case SME::BI__builtin_sme_svreadz_ver_za128_s16:
1108 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1109 break;
1110 case SME::BI__builtin_sme_svreadz_ver_za128_s32:
1111 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1112 break;
1113 case SME::BI__builtin_sme_svreadz_ver_za128_s64:
1114 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1115 break;
1116 case SME::BI__builtin_sme_svreadz_ver_za128_s8:
1117 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1118 break;
1119 case SME::BI__builtin_sme_svreadz_ver_za128_u16:
1120 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1121 break;
1122 case SME::BI__builtin_sme_svreadz_ver_za128_u32:
1123 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1124 break;
1125 case SME::BI__builtin_sme_svreadz_ver_za128_u64:
1126 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1127 break;
1128 case SME::BI__builtin_sme_svreadz_ver_za128_u8:
1129 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1130 break;
1131 case SME::BI__builtin_sme_svreadz_ver_za16_bf16:
1132 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1133 break;
1134 case SME::BI__builtin_sme_svreadz_ver_za16_bf16_vg2:
1135 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1136 break;
1137 case SME::BI__builtin_sme_svreadz_ver_za16_bf16_vg4:
1138 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1139 break;
1140 case SME::BI__builtin_sme_svreadz_ver_za16_f16:
1141 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1142 break;
1143 case SME::BI__builtin_sme_svreadz_ver_za16_f16_vg2:
1144 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1145 break;
1146 case SME::BI__builtin_sme_svreadz_ver_za16_f16_vg4:
1147 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1148 break;
1149 case SME::BI__builtin_sme_svreadz_ver_za16_s16:
1150 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1151 break;
1152 case SME::BI__builtin_sme_svreadz_ver_za16_s16_vg2:
1153 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1154 break;
1155 case SME::BI__builtin_sme_svreadz_ver_za16_s16_vg4:
1156 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1157 break;
1158 case SME::BI__builtin_sme_svreadz_ver_za16_u16:
1159 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1160 break;
1161 case SME::BI__builtin_sme_svreadz_ver_za16_u16_vg2:
1162 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1163 break;
1164 case SME::BI__builtin_sme_svreadz_ver_za16_u16_vg4:
1165 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1166 break;
1167 case SME::BI__builtin_sme_svreadz_ver_za32_f32:
1168 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1169 break;
1170 case SME::BI__builtin_sme_svreadz_ver_za32_f32_vg2:
1171 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1172 break;
1173 case SME::BI__builtin_sme_svreadz_ver_za32_f32_vg4:
1174 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1175 break;
1176 case SME::BI__builtin_sme_svreadz_ver_za32_s32:
1177 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1178 break;
1179 case SME::BI__builtin_sme_svreadz_ver_za32_s32_vg2:
1180 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1181 break;
1182 case SME::BI__builtin_sme_svreadz_ver_za32_s32_vg4:
1183 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1184 break;
1185 case SME::BI__builtin_sme_svreadz_ver_za32_u32:
1186 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1187 break;
1188 case SME::BI__builtin_sme_svreadz_ver_za32_u32_vg2:
1189 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1190 break;
1191 case SME::BI__builtin_sme_svreadz_ver_za32_u32_vg4:
1192 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1193 break;
1194 case SME::BI__builtin_sme_svreadz_ver_za64_f64:
1195 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1196 break;
1197 case SME::BI__builtin_sme_svreadz_ver_za64_f64_vg2:
1198 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1199 break;
1200 case SME::BI__builtin_sme_svreadz_ver_za64_f64_vg4:
1201 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1202 break;
1203 case SME::BI__builtin_sme_svreadz_ver_za64_s64:
1204 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1205 break;
1206 case SME::BI__builtin_sme_svreadz_ver_za64_s64_vg2:
1207 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1208 break;
1209 case SME::BI__builtin_sme_svreadz_ver_za64_s64_vg4:
1210 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1211 break;
1212 case SME::BI__builtin_sme_svreadz_ver_za64_u64:
1213 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1214 break;
1215 case SME::BI__builtin_sme_svreadz_ver_za64_u64_vg2:
1216 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1217 break;
1218 case SME::BI__builtin_sme_svreadz_ver_za64_u64_vg4:
1219 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1220 break;
1221 case SME::BI__builtin_sme_svreadz_ver_za8_s8:
1222 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1223 break;
1224 case SME::BI__builtin_sme_svreadz_ver_za8_s8_vg2:
1225 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1226 break;
1227 case SME::BI__builtin_sme_svreadz_ver_za8_s8_vg4:
1228 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1229 break;
1230 case SME::BI__builtin_sme_svreadz_ver_za8_u8:
1231 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1232 break;
1233 case SME::BI__builtin_sme_svreadz_ver_za8_u8_vg2:
1234 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1235 break;
1236 case SME::BI__builtin_sme_svreadz_ver_za8_u8_vg4:
1237 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1238 break;
1239 case SME::BI__builtin_sme_svst1_hor_vnum_za128:
1240 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1241 break;
1242 case SME::BI__builtin_sme_svst1_hor_vnum_za16:
1243 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1244 break;
1245 case SME::BI__builtin_sme_svst1_hor_vnum_za32:
1246 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1247 break;
1248 case SME::BI__builtin_sme_svst1_hor_vnum_za64:
1249 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1250 break;
1251 case SME::BI__builtin_sme_svst1_hor_vnum_za8:
1252 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1253 break;
1254 case SME::BI__builtin_sme_svst1_hor_za128:
1255 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1256 break;
1257 case SME::BI__builtin_sme_svst1_hor_za16:
1258 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1259 break;
1260 case SME::BI__builtin_sme_svst1_hor_za32:
1261 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1262 break;
1263 case SME::BI__builtin_sme_svst1_hor_za64:
1264 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1265 break;
1266 case SME::BI__builtin_sme_svst1_hor_za8:
1267 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1268 break;
1269 case SME::BI__builtin_sme_svst1_ver_vnum_za128:
1270 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1271 break;
1272 case SME::BI__builtin_sme_svst1_ver_vnum_za16:
1273 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1274 break;
1275 case SME::BI__builtin_sme_svst1_ver_vnum_za32:
1276 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1277 break;
1278 case SME::BI__builtin_sme_svst1_ver_vnum_za64:
1279 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1280 break;
1281 case SME::BI__builtin_sme_svst1_ver_vnum_za8:
1282 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1283 break;
1284 case SME::BI__builtin_sme_svst1_ver_za128:
1285 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1286 break;
1287 case SME::BI__builtin_sme_svst1_ver_za16:
1288 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1289 break;
1290 case SME::BI__builtin_sme_svst1_ver_za32:
1291 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1292 break;
1293 case SME::BI__builtin_sme_svst1_ver_za64:
1294 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1295 break;
1296 case SME::BI__builtin_sme_svst1_ver_za8:
1297 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1298 break;
1299 case SME::BI__builtin_sme_svstr_zt:
1300 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1301 break;
1302 case SME::BI__builtin_sme_svsudot_lane_za32_s8_vg1x2:
1303 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1304 break;
1305 case SME::BI__builtin_sme_svsudot_lane_za32_s8_vg1x4:
1306 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1307 break;
1308 case SME::BI__builtin_sme_svsumla_lane_za32_s8_vg4x1:
1309 ImmChecks.push_back(std::make_tuple(3, 18, 0));
1310 break;
1311 case SME::BI__builtin_sme_svsumla_lane_za32_s8_vg4x2:
1312 ImmChecks.push_back(std::make_tuple(3, 18, 0));
1313 break;
1314 case SME::BI__builtin_sme_svsumla_lane_za32_s8_vg4x4:
1315 ImmChecks.push_back(std::make_tuple(3, 18, 0));
1316 break;
1317 case SME::BI__builtin_sme_svsumopa_za32_s8_m:
1318 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1319 break;
1320 case SME::BI__builtin_sme_svsumopa_za64_s16_m:
1321 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1322 break;
1323 case SME::BI__builtin_sme_svsumops_za32_s8_m:
1324 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1325 break;
1326 case SME::BI__builtin_sme_svsumops_za64_s16_m:
1327 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1328 break;
1329 case SME::BI__builtin_sme_svsuvdot_lane_za32_s8_vg1x4:
1330 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1331 break;
1332 case SME::BI__builtin_sme_svusdot_lane_za32_u8_vg1x2:
1333 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1334 break;
1335 case SME::BI__builtin_sme_svusdot_lane_za32_u8_vg1x4:
1336 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1337 break;
1338 case SME::BI__builtin_sme_svusmla_lane_za32_u8_vg4x1:
1339 ImmChecks.push_back(std::make_tuple(3, 18, 0));
1340 break;
1341 case SME::BI__builtin_sme_svusmla_lane_za32_u8_vg4x2:
1342 ImmChecks.push_back(std::make_tuple(3, 18, 0));
1343 break;
1344 case SME::BI__builtin_sme_svusmla_lane_za32_u8_vg4x4:
1345 ImmChecks.push_back(std::make_tuple(3, 18, 0));
1346 break;
1347 case SME::BI__builtin_sme_svusmopa_za32_u8_m:
1348 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1349 break;
1350 case SME::BI__builtin_sme_svusmopa_za64_u16_m:
1351 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1352 break;
1353 case SME::BI__builtin_sme_svusmops_za32_u8_m:
1354 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1355 break;
1356 case SME::BI__builtin_sme_svusmops_za64_u16_m:
1357 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1358 break;
1359 case SME::BI__builtin_sme_svusvdot_lane_za32_u8_vg1x4:
1360 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1361 break;
1362 case SME::BI__builtin_sme_svvdot_lane_za16_mf8_vg1x2_fpm:
1363 ImmChecks.push_back(std::make_tuple(3, 6, 0));
1364 break;
1365 case SME::BI__builtin_sme_svvdot_lane_za32_bf16_vg1x2:
1366 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1367 break;
1368 case SME::BI__builtin_sme_svvdot_lane_za32_f16_vg1x2:
1369 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1370 break;
1371 case SME::BI__builtin_sme_svvdot_lane_za32_s16_vg1x2:
1372 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1373 break;
1374 case SME::BI__builtin_sme_svvdot_lane_za32_s8_vg1x4:
1375 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1376 break;
1377 case SME::BI__builtin_sme_svvdot_lane_za32_u16_vg1x2:
1378 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1379 break;
1380 case SME::BI__builtin_sme_svvdot_lane_za32_u8_vg1x4:
1381 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1382 break;
1383 case SME::BI__builtin_sme_svvdot_lane_za64_s16_vg1x4:
1384 ImmChecks.push_back(std::make_tuple(3, 14, 0));
1385 break;
1386 case SME::BI__builtin_sme_svvdot_lane_za64_u16_vg1x4:
1387 ImmChecks.push_back(std::make_tuple(3, 14, 0));
1388 break;
1389 case SME::BI__builtin_sme_svvdotb_lane_za32_mf8_vg1x4_fpm:
1390 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1391 break;
1392 case SME::BI__builtin_sme_svvdott_lane_za32_mf8_vg1x4_fpm:
1393 ImmChecks.push_back(std::make_tuple(3, 16, 0));
1394 break;
1395 case SME::BI__builtin_sme_svwrite_hor_za128_bf16_m:
1396 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1397 break;
1398 case SME::BI__builtin_sme_svwrite_hor_za128_f16_m:
1399 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1400 break;
1401 case SME::BI__builtin_sme_svwrite_hor_za128_f32_m:
1402 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1403 break;
1404 case SME::BI__builtin_sme_svwrite_hor_za128_f64_m:
1405 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1406 break;
1407 case SME::BI__builtin_sme_svwrite_hor_za128_s16_m:
1408 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1409 break;
1410 case SME::BI__builtin_sme_svwrite_hor_za128_s32_m:
1411 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1412 break;
1413 case SME::BI__builtin_sme_svwrite_hor_za128_s64_m:
1414 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1415 break;
1416 case SME::BI__builtin_sme_svwrite_hor_za128_s8_m:
1417 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1418 break;
1419 case SME::BI__builtin_sme_svwrite_hor_za128_u16_m:
1420 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1421 break;
1422 case SME::BI__builtin_sme_svwrite_hor_za128_u32_m:
1423 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1424 break;
1425 case SME::BI__builtin_sme_svwrite_hor_za128_u64_m:
1426 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1427 break;
1428 case SME::BI__builtin_sme_svwrite_hor_za128_u8_m:
1429 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1430 break;
1431 case SME::BI__builtin_sme_svwrite_hor_za16_bf16_m:
1432 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1433 break;
1434 case SME::BI__builtin_sme_svwrite_hor_za16_bf16_vg2:
1435 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1436 break;
1437 case SME::BI__builtin_sme_svwrite_hor_za16_bf16_vg4:
1438 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1439 break;
1440 case SME::BI__builtin_sme_svwrite_hor_za16_f16_m:
1441 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1442 break;
1443 case SME::BI__builtin_sme_svwrite_hor_za16_f16_vg2:
1444 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1445 break;
1446 case SME::BI__builtin_sme_svwrite_hor_za16_f16_vg4:
1447 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1448 break;
1449 case SME::BI__builtin_sme_svwrite_hor_za16_s16_m:
1450 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1451 break;
1452 case SME::BI__builtin_sme_svwrite_hor_za16_s16_vg2:
1453 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1454 break;
1455 case SME::BI__builtin_sme_svwrite_hor_za16_s16_vg4:
1456 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1457 break;
1458 case SME::BI__builtin_sme_svwrite_hor_za16_u16_m:
1459 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1460 break;
1461 case SME::BI__builtin_sme_svwrite_hor_za16_u16_vg2:
1462 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1463 break;
1464 case SME::BI__builtin_sme_svwrite_hor_za16_u16_vg4:
1465 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1466 break;
1467 case SME::BI__builtin_sme_svwrite_hor_za32_f32_m:
1468 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1469 break;
1470 case SME::BI__builtin_sme_svwrite_hor_za32_f32_vg2:
1471 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1472 break;
1473 case SME::BI__builtin_sme_svwrite_hor_za32_f32_vg4:
1474 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1475 break;
1476 case SME::BI__builtin_sme_svwrite_hor_za32_s32_m:
1477 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1478 break;
1479 case SME::BI__builtin_sme_svwrite_hor_za32_s32_vg2:
1480 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1481 break;
1482 case SME::BI__builtin_sme_svwrite_hor_za32_s32_vg4:
1483 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1484 break;
1485 case SME::BI__builtin_sme_svwrite_hor_za32_u32_m:
1486 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1487 break;
1488 case SME::BI__builtin_sme_svwrite_hor_za32_u32_vg2:
1489 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1490 break;
1491 case SME::BI__builtin_sme_svwrite_hor_za32_u32_vg4:
1492 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1493 break;
1494 case SME::BI__builtin_sme_svwrite_hor_za64_f64_m:
1495 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1496 break;
1497 case SME::BI__builtin_sme_svwrite_hor_za64_f64_vg2:
1498 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1499 break;
1500 case SME::BI__builtin_sme_svwrite_hor_za64_f64_vg4:
1501 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1502 break;
1503 case SME::BI__builtin_sme_svwrite_hor_za64_s64_m:
1504 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1505 break;
1506 case SME::BI__builtin_sme_svwrite_hor_za64_s64_vg2:
1507 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1508 break;
1509 case SME::BI__builtin_sme_svwrite_hor_za64_s64_vg4:
1510 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1511 break;
1512 case SME::BI__builtin_sme_svwrite_hor_za64_u64_m:
1513 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1514 break;
1515 case SME::BI__builtin_sme_svwrite_hor_za64_u64_vg2:
1516 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1517 break;
1518 case SME::BI__builtin_sme_svwrite_hor_za64_u64_vg4:
1519 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1520 break;
1521 case SME::BI__builtin_sme_svwrite_hor_za8_s8_m:
1522 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1523 break;
1524 case SME::BI__builtin_sme_svwrite_hor_za8_s8_vg2:
1525 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1526 break;
1527 case SME::BI__builtin_sme_svwrite_hor_za8_s8_vg4:
1528 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1529 break;
1530 case SME::BI__builtin_sme_svwrite_hor_za8_u8_m:
1531 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1532 break;
1533 case SME::BI__builtin_sme_svwrite_hor_za8_u8_vg2:
1534 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1535 break;
1536 case SME::BI__builtin_sme_svwrite_hor_za8_u8_vg4:
1537 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1538 break;
1539 case SME::BI__builtin_sme_svwrite_lane_zt_bf16:
1540 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1541 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1542 break;
1543 case SME::BI__builtin_sme_svwrite_lane_zt_f16:
1544 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1545 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1546 break;
1547 case SME::BI__builtin_sme_svwrite_lane_zt_f32:
1548 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1549 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1550 break;
1551 case SME::BI__builtin_sme_svwrite_lane_zt_f64:
1552 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1553 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1554 break;
1555 case SME::BI__builtin_sme_svwrite_lane_zt_s16:
1556 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1557 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1558 break;
1559 case SME::BI__builtin_sme_svwrite_lane_zt_s32:
1560 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1561 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1562 break;
1563 case SME::BI__builtin_sme_svwrite_lane_zt_s64:
1564 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1565 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1566 break;
1567 case SME::BI__builtin_sme_svwrite_lane_zt_s8:
1568 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1569 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1570 break;
1571 case SME::BI__builtin_sme_svwrite_lane_zt_u16:
1572 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1573 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1574 break;
1575 case SME::BI__builtin_sme_svwrite_lane_zt_u32:
1576 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1577 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1578 break;
1579 case SME::BI__builtin_sme_svwrite_lane_zt_u64:
1580 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1581 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1582 break;
1583 case SME::BI__builtin_sme_svwrite_lane_zt_u8:
1584 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1585 ImmChecks.push_back(std::make_tuple(2, 22, 0));
1586 break;
1587 case SME::BI__builtin_sme_svwrite_ver_za128_bf16_m:
1588 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1589 break;
1590 case SME::BI__builtin_sme_svwrite_ver_za128_f16_m:
1591 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1592 break;
1593 case SME::BI__builtin_sme_svwrite_ver_za128_f32_m:
1594 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1595 break;
1596 case SME::BI__builtin_sme_svwrite_ver_za128_f64_m:
1597 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1598 break;
1599 case SME::BI__builtin_sme_svwrite_ver_za128_s16_m:
1600 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1601 break;
1602 case SME::BI__builtin_sme_svwrite_ver_za128_s32_m:
1603 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1604 break;
1605 case SME::BI__builtin_sme_svwrite_ver_za128_s64_m:
1606 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1607 break;
1608 case SME::BI__builtin_sme_svwrite_ver_za128_s8_m:
1609 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1610 break;
1611 case SME::BI__builtin_sme_svwrite_ver_za128_u16_m:
1612 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1613 break;
1614 case SME::BI__builtin_sme_svwrite_ver_za128_u32_m:
1615 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1616 break;
1617 case SME::BI__builtin_sme_svwrite_ver_za128_u64_m:
1618 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1619 break;
1620 case SME::BI__builtin_sme_svwrite_ver_za128_u8_m:
1621 ImmChecks.push_back(std::make_tuple(0, 18, 0));
1622 break;
1623 case SME::BI__builtin_sme_svwrite_ver_za16_bf16_m:
1624 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1625 break;
1626 case SME::BI__builtin_sme_svwrite_ver_za16_bf16_vg2:
1627 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1628 break;
1629 case SME::BI__builtin_sme_svwrite_ver_za16_bf16_vg4:
1630 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1631 break;
1632 case SME::BI__builtin_sme_svwrite_ver_za16_f16_m:
1633 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1634 break;
1635 case SME::BI__builtin_sme_svwrite_ver_za16_f16_vg2:
1636 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1637 break;
1638 case SME::BI__builtin_sme_svwrite_ver_za16_f16_vg4:
1639 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1640 break;
1641 case SME::BI__builtin_sme_svwrite_ver_za16_s16_m:
1642 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1643 break;
1644 case SME::BI__builtin_sme_svwrite_ver_za16_s16_vg2:
1645 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1646 break;
1647 case SME::BI__builtin_sme_svwrite_ver_za16_s16_vg4:
1648 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1649 break;
1650 case SME::BI__builtin_sme_svwrite_ver_za16_u16_m:
1651 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1652 break;
1653 case SME::BI__builtin_sme_svwrite_ver_za16_u16_vg2:
1654 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1655 break;
1656 case SME::BI__builtin_sme_svwrite_ver_za16_u16_vg4:
1657 ImmChecks.push_back(std::make_tuple(0, 14, 0));
1658 break;
1659 case SME::BI__builtin_sme_svwrite_ver_za32_f32_m:
1660 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1661 break;
1662 case SME::BI__builtin_sme_svwrite_ver_za32_f32_vg2:
1663 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1664 break;
1665 case SME::BI__builtin_sme_svwrite_ver_za32_f32_vg4:
1666 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1667 break;
1668 case SME::BI__builtin_sme_svwrite_ver_za32_s32_m:
1669 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1670 break;
1671 case SME::BI__builtin_sme_svwrite_ver_za32_s32_vg2:
1672 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1673 break;
1674 case SME::BI__builtin_sme_svwrite_ver_za32_s32_vg4:
1675 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1676 break;
1677 case SME::BI__builtin_sme_svwrite_ver_za32_u32_m:
1678 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1679 break;
1680 case SME::BI__builtin_sme_svwrite_ver_za32_u32_vg2:
1681 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1682 break;
1683 case SME::BI__builtin_sme_svwrite_ver_za32_u32_vg4:
1684 ImmChecks.push_back(std::make_tuple(0, 16, 0));
1685 break;
1686 case SME::BI__builtin_sme_svwrite_ver_za64_f64_m:
1687 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1688 break;
1689 case SME::BI__builtin_sme_svwrite_ver_za64_f64_vg2:
1690 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1691 break;
1692 case SME::BI__builtin_sme_svwrite_ver_za64_f64_vg4:
1693 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1694 break;
1695 case SME::BI__builtin_sme_svwrite_ver_za64_s64_m:
1696 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1697 break;
1698 case SME::BI__builtin_sme_svwrite_ver_za64_s64_vg2:
1699 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1700 break;
1701 case SME::BI__builtin_sme_svwrite_ver_za64_s64_vg4:
1702 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1703 break;
1704 case SME::BI__builtin_sme_svwrite_ver_za64_u64_m:
1705 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1706 break;
1707 case SME::BI__builtin_sme_svwrite_ver_za64_u64_vg2:
1708 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1709 break;
1710 case SME::BI__builtin_sme_svwrite_ver_za64_u64_vg4:
1711 ImmChecks.push_back(std::make_tuple(0, 6, 0));
1712 break;
1713 case SME::BI__builtin_sme_svwrite_ver_za8_s8_m:
1714 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1715 break;
1716 case SME::BI__builtin_sme_svwrite_ver_za8_s8_vg2:
1717 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1718 break;
1719 case SME::BI__builtin_sme_svwrite_ver_za8_s8_vg4:
1720 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1721 break;
1722 case SME::BI__builtin_sme_svwrite_ver_za8_u8_m:
1723 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1724 break;
1725 case SME::BI__builtin_sme_svwrite_ver_za8_u8_vg2:
1726 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1727 break;
1728 case SME::BI__builtin_sme_svwrite_ver_za8_u8_vg4:
1729 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1730 break;
1731 case SME::BI__builtin_sme_svwrite_zt_bf16:
1732 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1733 break;
1734 case SME::BI__builtin_sme_svwrite_zt_f16:
1735 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1736 break;
1737 case SME::BI__builtin_sme_svwrite_zt_f32:
1738 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1739 break;
1740 case SME::BI__builtin_sme_svwrite_zt_f64:
1741 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1742 break;
1743 case SME::BI__builtin_sme_svwrite_zt_s16:
1744 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1745 break;
1746 case SME::BI__builtin_sme_svwrite_zt_s32:
1747 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1748 break;
1749 case SME::BI__builtin_sme_svwrite_zt_s64:
1750 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1751 break;
1752 case SME::BI__builtin_sme_svwrite_zt_s8:
1753 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1754 break;
1755 case SME::BI__builtin_sme_svwrite_zt_u16:
1756 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1757 break;
1758 case SME::BI__builtin_sme_svwrite_zt_u32:
1759 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1760 break;
1761 case SME::BI__builtin_sme_svwrite_zt_u64:
1762 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1763 break;
1764 case SME::BI__builtin_sme_svwrite_zt_u8:
1765 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1766 break;
1767 case SME::BI__builtin_sme_svzero_mask_za:
1768 ImmChecks.push_back(std::make_tuple(0, 19, 0));
1769 break;
1770 case SME::BI__builtin_sme_svzero_zt:
1771 ImmChecks.push_back(std::make_tuple(0, 17, 0));
1772 break;
1773 #endif
1774