| /openbmc/qemu/target/arm/tcg/ |
| H A D | helper-a64.h | 26 DEF_HELPER_3(vfp_cmph_a64, i64, f16, f16, fpst) 27 DEF_HELPER_3(vfp_cmpeh_a64, i64, f16, f16, fpst) 28 DEF_HELPER_3(vfp_cmps_a64, i64, f32, f32, fpst) 29 DEF_HELPER_3(vfp_cmpes_a64, i64, f32, f32, fpst) 30 DEF_HELPER_3(vfp_cmpd_a64, i64, f64, f64, fpst) 31 DEF_HELPER_3(vfp_cmped_a64, i64, f64, f64, fpst) 33 DEF_HELPER_FLAGS_3(vfp_mulxs, TCG_CALL_NO_RWG, f32, f32, f32, fpst) 34 DEF_HELPER_FLAGS_3(vfp_mulxd, TCG_CALL_NO_RWG, f64, f64, f64, fpst) 35 DEF_HELPER_FLAGS_3(neon_ceq_f64, TCG_CALL_NO_RWG, i64, i64, i64, fpst) 36 DEF_HELPER_FLAGS_3(neon_cge_f64, TCG_CALL_NO_RWG, i64, i64, i64, fpst) [all...] |
| H A D | helper.h | 114 DEF_HELPER_3(vfp_addh, f16, f16, f16, fpst) 115 DEF_HELPER_3(vfp_adds, f32, f32, f32, fpst) 116 DEF_HELPER_3(vfp_addd, f64, f64, f64, fpst) 117 DEF_HELPER_3(vfp_subh, f16, f16, f16, fpst) 118 DEF_HELPER_3(vfp_subs, f32, f32, f32, fpst) 119 DEF_HELPER_3(vfp_subd, f64, f64, f64, fpst) 120 DEF_HELPER_3(vfp_mulh, f16, f16, f16, fpst) 121 DEF_HELPER_3(vfp_muls, f32, f32, f32, fpst) 122 DEF_HELPER_3(vfp_muld, f64, f64, f64, fpst) 123 DEF_HELPER_3(vfp_divh, f16, f16, f16, fpst) [all...] |
| H A D | vfp_helper.c | 277 dh_ctype_f16 VFP_HELPER(name, h)(dh_ctype_f16 a, dh_ctype_f16 b, float_status *fpst) \ 279 return float16_ ## name(a, b, fpst); \ 281 float32 VFP_HELPER(name, s)(float32 a, float32 b, float_status *fpst) \ 283 return float32_ ## name(a, b, fpst); \ 285 float64 VFP_HELPER(name, d)(float64 a, float64 b, float_status *fpst) \ 287 return float64_ ## name(a, b, fpst); \ 299 dh_ctype_f16 VFP_HELPER(sqrt, h)(dh_ctype_f16 a, float_status *fpst) in VFP_BINOP() 301 return float16_sqrt(a, fpst); in VFP_BINOP() 304 float32 VFP_HELPER(sqrt, s)(float32 a, float_status *fpst) in VFP_HELPER() 306 return float32_sqrt(a, fpst); in VFP_HELPER() [all …]
|
| H A D | translate-vfp.c | 433 TCGv_ptr fpst; in trans_VRINT() local 463 fpst = fpstatus_ptr(FPST_A32_F16); in trans_VRINT() 465 fpst = fpstatus_ptr(FPST_A32); in trans_VRINT() 468 tcg_rmode = gen_set_rmode(rounding, fpst); in trans_VRINT() 476 gen_helper_rintd(tcg_res, tcg_op, fpst); in trans_VRINT() 485 gen_helper_rinth(tcg_res, tcg_op, fpst); in trans_VRINT() 487 gen_helper_rints(tcg_res, tcg_op, fpst); in trans_VRINT() 492 gen_restore_rmode(tcg_rmode, fpst); in trans_VRINT() 500 TCGv_ptr fpst; in trans_VCVT() local 530 fpst = fpstatus_ptr(FPST_A32_F16); in trans_VCVT() [all …]
|
| H A D | helper-a64.c | 171 float32 HELPER(vfp_mulxs)(float32 a, float32 b, float_status *fpst) in HELPER() 173 a = float32_squash_input_denormal(a, fpst); in HELPER() 174 b = float32_squash_input_denormal(b, fpst); in HELPER() 182 return float32_mul(a, b, fpst); in HELPER() 185 float64 HELPER(vfp_mulxd)(float64 a, float64 b, float_status *fpst) in HELPER() 187 a = float64_squash_input_denormal(a, fpst); in HELPER() 188 b = float64_squash_input_denormal(b, fpst); in HELPER() 196 return float64_mul(a, b, fpst); in HELPER() 200 uint64_t HELPER(neon_ceq_f64)(float64 a, float64 b, float_status *fpst) in HELPER() 202 return -float64_eq_quiet(a, b, fpst); in HELPER() [all...] |
| H A D | helper-sve.h | 997 void, ptr, ptr, ptr, fpst, i32) 999 void, ptr, ptr, ptr, fpst, i32) 1001 void, ptr, ptr, ptr, fpst, i32) 1004 void, ptr, ptr, ptr, fpst, i32) 1006 void, ptr, ptr, ptr, fpst, i32) 1008 void, ptr, ptr, ptr, fpst, i32) 1011 void, ptr, ptr, ptr, fpst, i32) 1013 void, ptr, ptr, ptr, fpst, i32) 1015 void, ptr, ptr, ptr, fpst, i32) 1018 void, ptr, ptr, ptr, fpst, i32) [all …]
|
| H A D | helper-sme.h | 141 void, ptr, ptr, ptr, ptr, ptr, fpst, i32) 143 void, ptr, ptr, ptr, ptr, ptr, fpst, i32) 145 void, ptr, ptr, ptr, ptr, ptr, fpst, i32) 149 void, ptr, ptr, ptr, ptr, ptr, fpst, i32) 154 void, ptr, ptr, ptr, ptr, ptr, fpst, i32) 156 void, ptr, ptr, ptr, ptr, ptr, fpst, i32) 158 void, ptr, ptr, ptr, ptr, ptr, fpst, i32) 162 void, ptr, ptr, ptr, ptr, ptr, fpst, i32) 167 void, ptr, ptr, ptr, ptr, ptr, fpst, i32) 169 void, ptr, ptr, ptr, ptr, ptr, fpst, i32) [all …]
|
| H A D | vec_helper.c | 927 float_status *fpst, uint32_t desc) 949 d[H2(i)] = float16_add(e0, e1, fpst); 950 d[H2(i + 1)] = float16_add(e2, e3, fpst); 956 float_status *fpst, uint32_t desc) in HELPER() 978 d[H4(i)] = float32_add(e0, e1, fpst); in HELPER() 979 d[H4(i + 1)] = float32_add(e2, e3, fpst); in HELPER() 985 float_status *fpst, uint32_t desc) in HELPER() 1007 d[i] = float64_add(e0, e1, fpst); in HELPER() 1008 d[i + 1] = float64_add(e2, e3, fpst); in HELPER() 1014 float_status *fpst, uint32_t desc) in HELPER() [all …]
|
| H A D | sme_helper.c | 1000 uint16_t *pm, float_status *fpst, uint32_t desc, in do_fmopa_h() argument 1018 *a = float16_muladd(n, *m, *a, negf, fpst); in do_fmopa_h() 1032 void *vpm, float_status *fpst, uint32_t desc) in HELPER() 1034 do_fmopa_h(vza, vzn, vzm, vpn, vpm, fpst, desc, 0, 0); in HELPER() 1038 void *vpm, float_status *fpst, uint32_t desc) in HELPER() 1040 do_fmopa_h(vza, vzn, vzm, vpn, vpm, fpst, desc, 1u << 15, 0); in HELPER() 1044 void *vpm, float_status *fpst, uint32_t desc) in HELPER() 1046 do_fmopa_h(vza, vzn, vzm, vpn, vpm, fpst, desc, 0, in HELPER() 1051 uint16_t *pm, float_status *fpst, uint32_t desc, in do_fmopa_s() argument 1069 *a = float32_muladd(n, *m, *a, negf, fpst); in do_fmopa_s() [all …]
|
| H A D | vec_internal.h | 267 float32 bfdotadd(float32 sum, uint32_t e1, uint32_t e2, float_status *fpst); 283 float_status *fpst, float_status *fpst_odd); 339 bfloat16 helper_sme2_ah_fmax_b16(bfloat16 a, bfloat16 b, float_status *fpst); 340 bfloat16 helper_sme2_ah_fmin_b16(bfloat16 a, bfloat16 b, float_status *fpst); 342 float32 sve_f16_to_f32(float16 f, float_status *fpst); 343 float16 sve_f32_to_f16(float32 f, float_status *fpst);
|
| H A D | mve_helper.c | 2829 float_status *fpst; \ 2835 fpst = &env->vfp.fp_status[ESIZE == 2 ? FPST_STD_F16 : FPST_STD]; \ 2838 scratch_fpst = *fpst; \ 2839 fpst = &scratch_fpst; \ 2841 r = FN(n[H##ESIZE(e)], m[H##ESIZE(e)], fpst); \ 2900 float_status *fpst; \ in DO_2OP_FP_ALL() 2908 fpst = &env->vfp.fp_status[ESIZE == 2 ? FPST_STD_F16 : FPST_STD]; \ in DO_2OP_FP_ALL() 2911 scratch_fpst = *fpst; \ in DO_2OP_FP_ALL() 2912 fpst = &scratch_fpst; \ in DO_2OP_FP_ALL() 2915 r[e] = FN0(n[H##ESIZE(e)], m[H##ESIZE(e + 1)], fpst); \ in DO_2OP_FP_ALL() [all …]
|
| H A D | translate-sme.c | 530 TCGv_ptr za, zn, zm, pn, pm, fpst; in do_outprod_fpst() local 541 fpst = fpstatus_ptr(e_fpst); in do_outprod_fpst() 543 fn(za, zn, zm, pn, pm, fpst, tcg_constant_i32(desc)); in do_outprod_fpst() 706 TCGv_ptr fpst; in TRANS_FEAT() local 716 fpst = fpstatus_ptr(esz == MO_16 ? FPST_A64_F16 : FPST_A64); in TRANS_FEAT() 728 tcg_gen_gvec_3_ptr(dofs, dofs, mofs, fpst, vsz, vsz, 0, fn); in TRANS_FEAT() 732 tcg_gen_gvec_3_ptr(mofs, mofs, mofs, fpst, vsz, vsz, 0, fn); in TRANS_FEAT() 742 TCGv_ptr fpst; in do_z2z_nn_fpst() local 751 fpst = fpstatus_ptr(esz == MO_16 ? FPST_A64_F16 : FPST_A64); in do_z2z_nn_fpst() 762 tcg_gen_gvec_3_ptr(dofs, dofs, mofs, fpst, vsz, vsz, 0, fn); in do_z2z_nn_fpst() [all …]
|
| H A D | translate-neon.c | 205 TCGv_ptr fpst = fpstatus_ptr(fp_flavour); in do_neon_ddda_fpst() local 211 fpst, opr_sz, opr_sz, data, fn_gvec_ptr); in do_neon_ddda_fpst() 234 TCGv_ptr fpst; in trans_VCADD() local 257 fpst = fpstatus_ptr(a->size == MO_16 ? FPST_STD_F16 : FPST_STD); in trans_VCADD() 263 fpst, opr_sz, opr_sz, a->rot, in trans_VCADD() 982 TCGv_ptr fpst = fpstatus_ptr(FPST); \ 983 tcg_gen_gvec_3_ptr(rd_ofs, rn_ofs, rm_ofs, fpst, \ 1373 TCGv_ptr fpst; in do_fp_2sh() local 1399 fpst = fpstatus_ptr(a->size == MO_16 ? FPST_STD_F16 : FPST_STD); in do_fp_2sh() 1400 tcg_gen_gvec_2_ptr(rd_ofs, rm_ofs, fpst, vec_siz in do_fp_2sh() 2749 TCGv_ptr fpst; trans_VCVT_B16_F32() local 2789 TCGv_ptr fpst; trans_VCVT_F16_F32() local 2835 TCGv_ptr fpst; trans_VCVT_F32_F16() local [all...] |
| H A D | neon_helper.c | 1213 uint32_t HELPER(neon_ceq_f32)(uint32_t a, uint32_t b, float_status *fpst) in HELPER() 1215 return -float32_eq_quiet(make_float32(a), make_float32(b), fpst); in HELPER() 1218 uint32_t HELPER(neon_cge_f32)(uint32_t a, uint32_t b, float_status *fpst) in HELPER() 1220 return -float32_le(make_float32(b), make_float32(a), fpst); in HELPER() 1223 uint32_t HELPER(neon_cgt_f32)(uint32_t a, uint32_t b, float_status *fpst) in HELPER() 1225 return -float32_lt(make_float32(b), make_float32(a), fpst); in HELPER() 1228 uint32_t HELPER(neon_acge_f32)(uint32_t a, uint32_t b, float_status *fpst) in HELPER() 1232 return -float32_le(f1, f0, fpst); in HELPER() 1235 uint32_t HELPER(neon_acgt_f32)(uint32_t a, uint32_t b, float_status *fpst) in HELPER() 1239 return -float32_lt(f1, f0, fpst); in HELPER() [all …]
|
| H A D | translate-a64.c | 830 TCGv_ptr fpst = fpstatus_ptr(fpsttype); 833 vec_full_reg_offset(s, rm), fpst, in gen_vfp_ah_negh() 873 TCGv_ptr fpst = fpstatus_ptr(fpsttype); in gen_vfp_ah_absh() 877 vec_full_reg_offset(s, ra), fpst, in gen_vfp_ah_absh() 7577 TCGv_ptr fpst; in gen_urshr_d() 7597 fpst = fpstatus_ptr(FPST_A64); in gen_sri_d() 7598 gen_helper_vfp_muladdd(ta, tn, tm, ta, fpst); in gen_sri_d() 7615 fpst = fpstatus_ptr(FPST_A64); in do_vec_shift_imm_narrow() 7616 gen_helper_vfp_muladds(ta, tn, tm, ta, fpst); in do_vec_shift_imm_narrow() 7636 fpst in do_vec_shift_imm_narrow() 773 TCGv_ptr fpst = fpstatus_ptr(fpsttype); gen_gvec_op3_fpst() local 816 TCGv_ptr fpst = fpstatus_ptr(fpsttype); gen_gvec_op4_fpst() local 7093 TCGv_ptr fpst; do_fmadd() local 7247 TCGv_ptr fpst = fpstatus_ptr(esz == MO_16 ? FPST_A64_F16 : FPST_A64); do_fp_reduction() local 7298 TCGv_ptr fpst = fpstatus_ptr(size == MO_16 ? FPST_A64_F16 : FPST_A64); handle_fp_compare() local 8788 TCGv_ptr fpst; do_fp1_scalar_with_fpsttype() local 8948 TCGv_ptr fpst = fpstatus_ptr(FPST_A64); trans_FCVT_s_ds() local 8961 TCGv_ptr fpst = fpstatus_ptr(FPST_A64); trans_FCVT_s_hs() local 8975 TCGv_ptr fpst = fpstatus_ptr(FPST_A64); trans_FCVT_s_sd() local 8989 TCGv_ptr fpst = fpstatus_ptr(FPST_A64); trans_FCVT_s_hd() local 9642 TCGv_ptr fpst = fpstatus_ptr(FPST_A64); TRANS() local 9655 TCGv_ptr fpst = fpstatus_ptr(FPST_A64); gen_fcvtn_sd() local 9687 TCGv_ptr fpst = fpstatus_ptr(FPST_A64); TRANS() local 9695 TCGv_ptr fpst = fpstatus_ptr(FPST_AH); gen_bfcvtn_ah_hs() local 9770 TCGv_ptr fpst; TRANS() local 9832 TCGv_ptr fpst; do_gvec_op2_fpst_with_fpsttype() local 10000 TCGv_ptr fpst; trans_FCVTL_v() local [all...] |
| H A D | translate.h | 853 static inline TCGv_i32 gen_set_rmode(ARMFPRounding rmode, TCGv_ptr fpst) 858 gen_helper_set_rmode(old, new, fpst); 862 static inline void gen_restore_rmode(TCGv_i32 old, TCGv_ptr fpst) 864 gen_helper_set_rmode(old, old, fpst); 827 gen_set_rmode(ARMFPRounding rmode,TCGv_ptr fpst) gen_set_rmode() argument 836 gen_restore_rmode(TCGv_i32 old,TCGv_ptr fpst) gen_restore_rmode() argument
|
| H A D | sve_helper.c | 4845 float32 sve_f16_to_f32(float16 f, float_status *fpst) 4847 bool save = get_flush_inputs_to_zero(fpst); 4850 set_flush_inputs_to_zero(false, fpst); 4851 ret = float16_to_float32(f, true, fpst); 4852 set_flush_inputs_to_zero(save, fpst); 4856 static inline float64 sve_f16_to_f64(float16 f, float_status *fpst) in sve_f16_to_f64() argument 4858 bool save = get_flush_inputs_to_zero(fpst); in sve_f16_to_f64() 4861 set_flush_inputs_to_zero(false, fpst); in sve_f16_to_f64() 4862 ret = float16_to_float64(f, true, fpst); in sve_f16_to_f64() 4863 set_flush_inputs_to_zero(save, fpst); in sve_f16_to_f64() [all …]
|