Lines Matching refs:pg
283 int rd, int rn, int rm, int ra, int pg, in gen_gvec_fpst_zzzzp() argument
297 pred_full_reg_offset(s, pg), in gen_gvec_fpst_zzzzp()
305 int rd, int rn, int pg, int data) in gen_gvec_ool_zzp() argument
314 pred_full_reg_offset(s, pg), in gen_gvec_ool_zzp()
323 return gen_gvec_ool_zzp(s, fn, a->rd, a->rn, a->pg, data); in gen_gvec_ool_arg_zpz()
329 return gen_gvec_ool_zzp(s, fn, a->rd, a->rn, a->pg, a->imm); in gen_gvec_ool_arg_zpzi()
333 int rd, int rn, int pg, int data, in gen_gvec_fpst_zzp() argument
345 pred_full_reg_offset(s, pg), in gen_gvec_fpst_zzp()
355 return gen_gvec_fpst_zzp(s, fn, a->rd, a->rn, a->pg, data, flavour); in gen_gvec_fpst_arg_zpz()
360 int rd, int rn, int rm, int pg, int data) in gen_gvec_ool_zzzp() argument
370 pred_full_reg_offset(s, pg), in gen_gvec_ool_zzzp()
379 return gen_gvec_ool_zzzp(s, fn, a->rd, a->rn, a->rm, a->pg, data); in gen_gvec_ool_arg_zpzz()
384 int rd, int rn, int rm, int pg, int data, in gen_gvec_fpst_zzzp() argument
397 pred_full_reg_offset(s, pg), in gen_gvec_fpst_zzzp()
406 return gen_gvec_fpst_zzzp(s, fn, a->rd, a->rn, a->rm, a->pg, 0, in gen_gvec_fpst_arg_zpzz()
710 static bool do_sel_z(DisasContext *s, int rd, int rn, int rm, int pg, int esz) in TRANS_FEAT()
716 return gen_gvec_ool_zzzp(s, fns[esz], rd, rn, rm, pg, 0); in TRANS_FEAT()
760 TRANS_FEAT(SEL_zpzz, aa64_sve, do_sel_z, a->rd, a->rn, a->rm, a->pg, a->esz)
857 tcg_gen_addi_ptr(t_pg, tcg_env, pred_full_reg_offset(s, a->pg)); in do_vpz_ool()
897 static bool do_movz_zpz(DisasContext *s, int rd, int rn, int pg, in TRANS_FEAT()
904 return gen_gvec_ool_zzp(s, fns[esz], rd, rn, pg, invert); in TRANS_FEAT()
927 return do_movz_zpz(s, a->rd, a->rd, a->pg, a->esz, true); in do_shift_zpzi()
1072 pred_full_reg_offset(s, a->pg),
1265 int gofs = pred_full_reg_offset(s, a->pg); in do_pppp_flags()
1277 TCGv_i64 pg = tcg_temp_new_i64(); in do_pppp_flags() local
1281 tcg_gen_ld_i64(pg, tcg_env, gofs); in do_pppp_flags()
1283 gvec_op->fni8(pd, pn, pm, pg); in do_pppp_flags()
1286 do_predtest1(pd, pg); in do_pppp_flags()
1294 if (a->rd == a->pg) { in do_pppp_flags()
1305 static void gen_and_pg_i64(TCGv_i64 pd, TCGv_i64 pn, TCGv_i64 pm, TCGv_i64 pg) in gen_and_pg_i64() argument
1308 tcg_gen_and_i64(pd, pd, pg); in gen_and_pg_i64()
1312 TCGv_vec pm, TCGv_vec pg) in gen_and_pg_vec() argument
1315 tcg_gen_and_vec(vece, pd, pd, pg); in gen_and_pg_vec()
1332 if (a->pg == a->rn) { in trans_AND_pppp()
1335 return gen_gvec_fn_ppp(s, tcg_gen_gvec_and, a->rd, a->rn, a->pg); in trans_AND_pppp()
1336 } else if (a->pg == a->rn || a->pg == a->rm) { in trans_AND_pppp()
1343 static void gen_bic_pg_i64(TCGv_i64 pd, TCGv_i64 pn, TCGv_i64 pm, TCGv_i64 pg) in gen_bic_pg_i64() argument
1346 tcg_gen_and_i64(pd, pd, pg); in gen_bic_pg_i64()
1350 TCGv_vec pm, TCGv_vec pg) in gen_bic_pg_vec() argument
1353 tcg_gen_and_vec(vece, pd, pd, pg); in gen_bic_pg_vec()
1368 if (!a->s && a->pg == a->rn) { in trans_BIC_pppp()
1374 static void gen_eor_pg_i64(TCGv_i64 pd, TCGv_i64 pn, TCGv_i64 pm, TCGv_i64 pg) in gen_eor_pg_i64() argument
1377 tcg_gen_and_i64(pd, pd, pg); in gen_eor_pg_i64()
1381 TCGv_vec pm, TCGv_vec pg) in gen_eor_pg_vec() argument
1384 tcg_gen_and_vec(vece, pd, pd, pg); in gen_eor_pg_vec()
1400 if (!a->s && a->pg == a->rm) { in trans_EOR_pppp()
1401 return gen_gvec_fn_ppp(s, tcg_gen_gvec_andc, a->rd, a->pg, a->rn); in trans_EOR_pppp()
1414 pred_full_reg_offset(s, a->pg), in trans_SEL_pppp()
1421 static void gen_orr_pg_i64(TCGv_i64 pd, TCGv_i64 pn, TCGv_i64 pm, TCGv_i64 pg) in gen_orr_pg_i64() argument
1424 tcg_gen_and_i64(pd, pd, pg); in gen_orr_pg_i64()
1428 TCGv_vec pm, TCGv_vec pg) in gen_orr_pg_vec() argument
1431 tcg_gen_and_vec(vece, pd, pd, pg); in gen_orr_pg_vec()
1446 if (!a->s && a->pg == a->rn && a->rn == a->rm) { in trans_ORR_pppp()
1452 static void gen_orn_pg_i64(TCGv_i64 pd, TCGv_i64 pn, TCGv_i64 pm, TCGv_i64 pg) in gen_orn_pg_i64() argument
1455 tcg_gen_and_i64(pd, pd, pg); in gen_orn_pg_i64()
1459 TCGv_vec pm, TCGv_vec pg) in gen_orn_pg_vec() argument
1462 tcg_gen_and_vec(vece, pd, pd, pg); in gen_orn_pg_vec()
1480 static void gen_nor_pg_i64(TCGv_i64 pd, TCGv_i64 pn, TCGv_i64 pm, TCGv_i64 pg) in gen_nor_pg_i64() argument
1483 tcg_gen_andc_i64(pd, pg, pd); in gen_nor_pg_i64()
1487 TCGv_vec pm, TCGv_vec pg) in gen_nor_pg_vec() argument
1490 tcg_gen_andc_vec(vece, pd, pg, pd); in gen_nor_pg_vec()
1508 static void gen_nand_pg_i64(TCGv_i64 pd, TCGv_i64 pn, TCGv_i64 pm, TCGv_i64 pg) in gen_nand_pg_i64() argument
1511 tcg_gen_andc_i64(pd, pg, pd); in gen_nand_pg_i64()
1515 TCGv_vec pm, TCGv_vec pg) in gen_nand_pg_vec() argument
1518 tcg_gen_andc_vec(vece, pd, pg, pd); in gen_nand_pg_vec()
1547 int gofs = pred_full_reg_offset(s, a->pg); in trans_PTEST()
1552 TCGv_i64 pg = tcg_temp_new_i64(); in trans_PTEST() local
1555 tcg_gen_ld_i64(pg, tcg_env, gofs); in trans_PTEST()
1556 do_predtest1(pn, pg); in trans_PTEST()
1695 .rd = a->rd, .pg = a->pg, .s = a->s, in trans_RDFFR_p()
2049 static void do_cpy_m(DisasContext *s, int esz, int rd, int rn, int pg, in do_cpy_m() argument
2065 tcg_gen_addi_ptr(t_pg, tcg_env, pred_full_reg_offset(s, pg)); in do_cpy_m()
2078 do_cpy_m(s, a->esz, a->rd, a->rn, a->pg, tcg_constant_i64(imm)); in trans_FCPY()
2089 do_cpy_m(s, a->esz, a->rd, a->rn, a->pg, tcg_constant_i64(a->imm)); in trans_CPY_m_i()
2107 pred_full_reg_offset(s, a->pg), in trans_CPY_z_i()
2414 static void find_last_active(DisasContext *s, TCGv_i32 ret, int esz, int pg) in find_last_active() argument
2425 tcg_gen_addi_ptr(t_p, tcg_env, pred_full_reg_offset(s, pg)); in find_last_active()
2522 find_last_active(s, last, esz, a->pg); in do_clast_vector()
2557 static void do_clast_scalar(DisasContext *s, int esz, int pg, int rm, in TRANS_FEAT()
2563 find_last_active(s, last, esz, pg); in TRANS_FEAT()
2592 do_clast_scalar(s, esz, a->pg, a->rn, before, reg); in do_clast_fp()
2627 do_clast_scalar(s, a->esz, a->pg, a->rn, before, reg); in TRANS_FEAT()
2636 int pg, int rm, bool before) in TRANS_FEAT()
2640 find_last_active(s, last, esz, pg); in TRANS_FEAT()
2654 TCGv_i64 val = do_last_scalar(s, a->esz, a->pg, a->rn, before); in do_last_fp()
2667 TCGv_i64 val = do_last_scalar(s, a->esz, a->pg, a->rn, before); in TRANS_FEAT()
2682 do_cpy_m(s, a->esz, a->rd, a->rd, a->pg, cpu_reg_sp(s, a->rn)); in TRANS_FEAT()
2695 do_cpy_m(s, a->esz, a->rd, a->rd, a->pg, t); in trans_CPY_m_v()
2720 a->rd, a->rn, (a->rn + 1) % 32, a->pg, a->esz)
2729 TCGv_ptr pd, zn, zm, pg; in do_ppzz_flags() local
2745 pg = tcg_temp_new_ptr(); in do_ppzz_flags()
2750 tcg_gen_addi_ptr(pg, tcg_env, pred_full_reg_offset(s, a->pg)); in do_ppzz_flags()
2752 gen_fn(t, pd, zn, zm, pg, tcg_constant_i32(simd_desc(vsz, vsz, 0))); in do_ppzz_flags()
2803 TCGv_ptr pd, zn, pg; local
2818 pg = tcg_temp_new_ptr();
2822 tcg_gen_addi_ptr(pg, tcg_env, pred_full_reg_offset(s, a->pg));
2824 gen_fn(t, pd, zn, pg, tcg_constant_i32(simd_desc(vsz, vsz, a->imm)));
2874 tcg_gen_addi_ptr(g, tcg_env, pred_full_reg_offset(s, a->pg)); in DO_PPZI()
2903 tcg_gen_addi_ptr(g, tcg_env, pred_full_reg_offset(s, a->pg)); in do_brk2()
2937 static void do_cntp(DisasContext *s, TCGv_i64 val, int esz, int pn, int pg) in TRANS_FEAT()
2945 if (pn != pg) { in TRANS_FEAT()
2947 tcg_gen_ld_i64(g, tcg_env, pred_full_reg_offset(s, pg)); in TRANS_FEAT()
2967 tcg_gen_addi_ptr(t_pg, tcg_env, pred_full_reg_offset(s, pg)); in TRANS_FEAT()
2979 do_cntp(s, cpu_reg(s, a->rd), a->esz, a->rn, a->pg); in trans_CNTP()
2993 do_cntp(s, val, a->esz, a->pg, a->pg); in trans_INCDECP_r()
3013 do_cntp(s, val, a->esz, a->pg, a->pg); in trans_INCDECP_z()
3029 do_cntp(s, val, a->esz, a->pg, a->pg); in trans_SINCDECP_r_32()
3044 do_cntp(s, val, a->esz, a->pg, a->pg); in trans_SINCDECP_r_64()
3057 do_cntp(s, val, a->esz, a->pg, a->pg); in trans_SINCDECP_z()
3588 tcg_gen_addi_ptr(t_pg, tcg_env, pred_full_reg_offset(s, a->pg)); in do_reduce()
3669 pred_full_reg_offset(s, a->pg), in do_ppz_fp()
3734 tcg_gen_addi_ptr(t_pg, tcg_env, pred_full_reg_offset(s, a->pg)); in trans_FADDA()
3821 static void do_fp_scalar(DisasContext *s, int zd, int zn, int pg, bool is_fp16, in do_fp_scalar() argument
3833 tcg_gen_addi_ptr(t_pg, tcg_env, pred_full_reg_offset(s, pg)); in do_fp_scalar()
3847 do_fp_scalar(s, a->rd, a->rn, a->pg, a->esz == MO_16, in do_fp_imm()
3912 pred_full_reg_offset(s, a->pg), in DO_FP_IMM()
3940 a->rd, a->rn, a->rm, a->pg, a->rot | (s->fpcr_ah << 1),
3954 a->rd, a->rn, a->rm, a->ra, a->pg, 0, \
3970 a->rd, a->rn, a->rm, a->ra, a->pg, a->rot | (s->fpcr_ah << 2),
4071 pred_full_reg_offset(s, a->pg), in do_frint_mode()
4441 static void do_mem_zpa(DisasContext *s, int zt, int pg, TCGv_i64 addr, in do_mem_zpa() argument
4461 tcg_gen_addi_ptr(t_pg, tcg_env, pred_full_reg_offset(s, pg)); in do_mem_zpa()
4584 static void do_ld_zpa(DisasContext *s, int zt, int pg, in do_ld_zpa() argument
4595 do_mem_zpa(s, zt, pg, addr, dtype, nreg + 1, false, fn); in do_ld_zpa()
4607 do_ld_zpa(s, a->rd, a->pg, addr, a->dtype, a->nreg); in trans_LD_zprr()
4625 do_ld_zpa(s, a->rd, a->pg, addr, a->dtype, a->nreg); in trans_LD_zpri()
4726 do_mem_zpa(s, a->rd, a->pg, addr, a->dtype, 1, false, in trans_LDFF1_zprr()
4831 do_mem_zpa(s, a->rd, a->pg, addr, a->dtype, 1, false, in trans_LDNF1_zpri()
4837 static void do_ldrq(DisasContext *s, int zt, int pg, TCGv_i64 addr, int dtype) in do_ldrq() argument
4849 poff = pred_full_reg_offset(s, pg); in do_ldrq()
4892 do_ldrq(s, a->rd, a->pg, addr, a->dtype); in trans_LD1RQ_zprr()
4905 do_ldrq(s, a->rd, a->pg, addr, a->dtype); in trans_LD1RQ_zpri()
4910 static void do_ldro(DisasContext *s, int zt, int pg, TCGv_i64 addr, int dtype) in do_ldro() argument
4933 poff = pred_full_reg_offset(s, pg); in do_ldro()
4988 do_ldro(s, a->rd, a->pg, addr, a->dtype); in trans_LD1RO_zprr()
5002 do_ldro(s, a->rd, a->pg, addr, a->dtype); in trans_LD1RO_zpri()
5034 tcg_gen_ld_i64(temp, tcg_env, pred_full_reg_offset(s, a->pg)); in trans_LD1R_zpri()
5039 find_last_active(s, t32, esz, a->pg); in trans_LD1R_zpri()
5057 return do_movz_zpz(s, a->rd, a->rd, a->pg, esz, false); in trans_LD1R_zpri()
5060 static void do_st_zpa(DisasContext *s, int zt, int pg, TCGv_i64 addr, in do_st_zpa() argument
5180 do_mem_zpa(s, zt, pg, addr, msz_dtype(s, msz), nreg + 1, true, fn); in do_st_zpa()
5195 do_st_zpa(s, a->rd, a->pg, addr, a->msz, a->esz, a->nreg); in trans_ST_zprr()
5215 do_st_zpa(s, a->rd, a->pg, addr, a->msz, a->esz, a->nreg); in trans_ST_zpri()
5224 static void do_mem_zpz(DisasContext *s, int zt, int pg, int zm, in do_mem_zpz() argument
5233 tcg_gen_addi_ptr(t_pg, tcg_env, pred_full_reg_offset(s, pg)); in do_mem_zpz()
5593 do_mem_zpz(s, a->rd, a->pg, a->rm, a->scale * a->msz, in trans_LD1_zprz()
5628 do_mem_zpz(s, a->rd, a->pg, a->rn, 0, in trans_LD1_zpiz()
5660 do_mem_zpz(s, a->rd, a->pg, a->rn, 0, in trans_LDNT1_zprz()
5783 do_mem_zpz(s, a->rd, a->pg, a->rm, a->scale * a->msz, in trans_ST1_zprz()
5818 do_mem_zpz(s, a->rd, a->pg, a->rn, 0, in trans_ST1_zpiz()
5851 do_mem_zpz(s, a->rd, a->pg, a->rn, 0, in trans_STNT1_zprz()
5906 TRANS_FEAT(MOVPRFX_m, aa64_sve, do_sel_z, a->rd, a->rn, a->rd, a->pg, a->esz)
5907 TRANS_FEAT(MOVPRFX_z, aa64_sve, do_movz_zpz, a->rd, a->rn, a->pg, a->esz, false)