mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
target/loongarch: Implement LSX fpu fcvt instructions
This patch includes: - VFCVT{L/H}.{S.H/D.S}; - VFCVT.{H.S/S.D}; - VFRINT[{RNE/RZ/RP/RM}].{S/D}; - VFTINT[{RNE/RZ/RP/RM}].{W.S/L.D}; - VFTINT[RZ].{WU.S/LU.D}; - VFTINT[{RNE/RZ/RP/RM}].W.D; - VFTINT[{RNE/RZ/RP/RM}]{L/H}.L.S; - VFFINT.{S.W/D.L}[U]; - VFFINT.S.L, VFFINT{L/H}.D.W. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Song Gao <gaosong@loongson.cn> Message-Id: <20230504122810.4094787-35-gaosong@loongson.cn>
This commit is contained in:
parent
aca67472d2
commit
399665d2af
5 changed files with 600 additions and 0 deletions
|
@ -558,3 +558,59 @@ DEF_HELPER_3(vfrecip_s, void, env, i32, i32)
|
|||
DEF_HELPER_3(vfrecip_d, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfrsqrt_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfrsqrt_d, void, env, i32, i32)
|
||||
|
||||
DEF_HELPER_3(vfcvtl_s_h, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfcvth_s_h, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfcvtl_d_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfcvth_d_s, void, env, i32, i32)
|
||||
DEF_HELPER_4(vfcvt_h_s, void, env, i32, i32, i32)
|
||||
DEF_HELPER_4(vfcvt_s_d, void, env, i32, i32, i32)
|
||||
|
||||
DEF_HELPER_3(vfrintrne_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfrintrne_d, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfrintrz_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfrintrz_d, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfrintrp_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfrintrp_d, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfrintrm_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfrintrm_d, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfrint_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vfrint_d, void, env, i32, i32)
|
||||
|
||||
DEF_HELPER_3(vftintrne_w_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrne_l_d, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrz_w_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrz_l_d, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrp_w_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrp_l_d, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrm_w_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrm_l_d, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftint_w_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftint_l_d, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrz_wu_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrz_lu_d, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftint_wu_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftint_lu_d, void, env, i32, i32)
|
||||
DEF_HELPER_4(vftintrne_w_d, void, env, i32, i32, i32)
|
||||
DEF_HELPER_4(vftintrz_w_d, void, env, i32, i32, i32)
|
||||
DEF_HELPER_4(vftintrp_w_d, void, env, i32, i32, i32)
|
||||
DEF_HELPER_4(vftintrm_w_d, void, env, i32, i32, i32)
|
||||
DEF_HELPER_4(vftint_w_d, void, env, i32, i32, i32)
|
||||
DEF_HELPER_3(vftintrnel_l_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrneh_l_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrzl_l_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrzh_l_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrpl_l_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrph_l_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrml_l_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintrmh_l_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftintl_l_s, void, env, i32, i32)
|
||||
DEF_HELPER_3(vftinth_l_s, void, env, i32, i32)
|
||||
|
||||
DEF_HELPER_3(vffint_s_w, void, env, i32, i32)
|
||||
DEF_HELPER_3(vffint_d_l, void, env, i32, i32)
|
||||
DEF_HELPER_3(vffint_s_wu, void, env, i32, i32)
|
||||
DEF_HELPER_3(vffint_d_lu, void, env, i32, i32)
|
||||
DEF_HELPER_3(vffintl_d_w, void, env, i32, i32)
|
||||
DEF_HELPER_3(vffinth_d_w, void, env, i32, i32)
|
||||
DEF_HELPER_4(vffint_s_l, void, env, i32, i32, i32)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue