Lines Matching refs:a

121 static bool trans_ZERO(DisasContext *s, arg_ZERO *a)  in trans_ZERO()  argument
127 gen_helper_sme_zero(tcg_env, tcg_constant_i32(a->imm), in trans_ZERO()
133 static bool trans_MOVA(DisasContext *s, arg_MOVA *a) in trans_MOVA() argument
162 t_za = get_tile_rowcol(s, a->esz, a->rs, a->za_imm, a->v); in trans_MOVA()
163 t_zr = vec_full_reg_ptr(s, a->zr); in trans_MOVA()
164 t_pg = pred_full_reg_ptr(s, a->pg); in trans_MOVA()
169 if (a->v) { in trans_MOVA()
171 if (a->to_vec) { in trans_MOVA()
172 zc_fns[a->esz](t_zr, t_za, t_pg, t_desc); in trans_MOVA()
174 cz_fns[a->esz](t_za, t_zr, t_pg, t_desc); in trans_MOVA()
178 if (a->to_vec) { in trans_MOVA()
179 h_fns[a->esz](t_zr, t_za, t_zr, t_pg, t_desc); in trans_MOVA()
181 h_fns[a->esz](t_za, t_zr, t_za, t_pg, t_desc); in trans_MOVA()
187 static bool trans_LDST1(DisasContext *s, arg_LDST1 *a) in trans_LDST1() argument
228 t_za = get_tile_rowcol(s, a->esz, a->rs, a->za_imm, a->v); in trans_LDST1()
229 t_pg = pred_full_reg_ptr(s, a->pg); in trans_LDST1()
232 tcg_gen_shli_i64(addr, cpu_reg(s, a->rm), a->esz); in trans_LDST1()
233 tcg_gen_add_i64(addr, addr, cpu_reg_sp(s, a->rn)); in trans_LDST1()
239 desc = make_svemte_desc(s, streaming_vec_reg_size(s), 1, a->esz, a->st, 0); in trans_LDST1()
241 fns[a->esz][be][a->v][mte][a->st](tcg_env, t_za, t_pg, addr, in trans_LDST1()
248 static bool do_ldst_r(DisasContext *s, arg_ldstr *a, GenLdStR *fn) in do_ldst_r() argument
251 int imm = a->imm; in do_ldst_r()
259 base = get_tile_rowcol(s, MO_8, a->rv, imm, false); in do_ldst_r()
261 fn(s, base, 0, svl, a->rn, imm * svl); in do_ldst_r()
265 TRANS_FEAT(LDR, aa64_sme, do_ldst_r, a, gen_sve_ldr) in TRANS_FEAT() argument
266 TRANS_FEAT(STR, aa64_sme, do_ldst_r, a, gen_sve_str) in TRANS_FEAT()
268 static bool do_adda(DisasContext *s, arg_adda *a, MemOp esz, in TRANS_FEAT()
279 za = get_tile(s, esz, a->zad); in TRANS_FEAT()
280 zn = vec_full_reg_ptr(s, a->zn); in TRANS_FEAT()
281 pn = pred_full_reg_ptr(s, a->pn); in TRANS_FEAT()
282 pm = pred_full_reg_ptr(s, a->pm); in TRANS_FEAT()
288 TRANS_FEAT(ADDHA_s, aa64_sme, do_adda, a, MO_32, gen_helper_sme_addha_s) in TRANS_FEAT() argument
289 TRANS_FEAT(ADDVA_s, aa64_sme, do_adda, a, MO_32, gen_helper_sme_addva_s) in TRANS_FEAT()
290 TRANS_FEAT(ADDHA_d, aa64_sme_i16i64, do_adda, a, MO_64, gen_helper_sme_addha_d) in TRANS_FEAT()
291 TRANS_FEAT(ADDVA_d, aa64_sme_i16i64, do_adda, a, MO_64, gen_helper_sme_addva_d) in TRANS_FEAT()
293 static bool do_outprod(DisasContext *s, arg_op *a, MemOp esz, in TRANS_FEAT()
297 uint32_t desc = simd_desc(svl, svl, a->sub); in TRANS_FEAT()
304 za = get_tile(s, esz, a->zad); in TRANS_FEAT()
305 zn = vec_full_reg_ptr(s, a->zn); in TRANS_FEAT()
306 zm = vec_full_reg_ptr(s, a->zm); in TRANS_FEAT()
307 pn = pred_full_reg_ptr(s, a->pn); in TRANS_FEAT()
308 pm = pred_full_reg_ptr(s, a->pm); in TRANS_FEAT()
314 static bool do_outprod_fpst(DisasContext *s, arg_op *a, MemOp esz, in do_outprod_fpst() argument
319 uint32_t desc = simd_desc(svl, svl, a->sub); in do_outprod_fpst()
326 za = get_tile(s, esz, a->zad); in do_outprod_fpst()
327 zn = vec_full_reg_ptr(s, a->zn); in do_outprod_fpst()
328 zm = vec_full_reg_ptr(s, a->zm); in do_outprod_fpst()
329 pn = pred_full_reg_ptr(s, a->pn); in do_outprod_fpst()
330 pm = pred_full_reg_ptr(s, a->pm); in do_outprod_fpst()
337 static bool do_outprod_env(DisasContext *s, arg_op *a, MemOp esz, in do_outprod_env() argument
341 uint32_t desc = simd_desc(svl, svl, a->sub); in do_outprod_env()
348 za = get_tile(s, esz, a->zad); in do_outprod_env()
349 zn = vec_full_reg_ptr(s, a->zn); in do_outprod_env()
350 zm = vec_full_reg_ptr(s, a->zm); in do_outprod_env()
351 pn = pred_full_reg_ptr(s, a->pn); in do_outprod_env()
352 pm = pred_full_reg_ptr(s, a->pm); in do_outprod_env()
358 TRANS_FEAT(FMOPA_h, aa64_sme, do_outprod_env, a,
360 TRANS_FEAT(FMOPA_s, aa64_sme, do_outprod_fpst, a,
362 TRANS_FEAT(FMOPA_d, aa64_sme_f64f64, do_outprod_fpst, a,
366 TRANS_FEAT(BFMOPA, aa64_sme, do_outprod, a, MO_32, gen_helper_sme_bfmopa)
368 TRANS_FEAT(SMOPA_s, aa64_sme, do_outprod, a, MO_32, gen_helper_sme_smopa_s)
369 TRANS_FEAT(UMOPA_s, aa64_sme, do_outprod, a, MO_32, gen_helper_sme_umopa_s)
370 TRANS_FEAT(SUMOPA_s, aa64_sme, do_outprod, a, MO_32, gen_helper_sme_sumopa_s)
371 TRANS_FEAT(USMOPA_s, aa64_sme, do_outprod, a, MO_32, gen_helper_sme_usmopa_s)
373 TRANS_FEAT(SMOPA_d, aa64_sme_i16i64, do_outprod, a, MO_64, gen_helper_sme_smopa_d)
374 TRANS_FEAT(UMOPA_d, aa64_sme_i16i64, do_outprod, a, MO_64, gen_helper_sme_umopa_d)
375 TRANS_FEAT(SUMOPA_d, aa64_sme_i16i64, do_outprod, a, MO_64, gen_helper_sme_sumopa_d)
376 TRANS_FEAT(USMOPA_d, aa64_sme_i16i64, do_outprod, a, MO_64, gen_helper_sme_usmopa_d)