On 7/22/20 2:16 AM, frank.ch...@sifive.com wrote:
> +DEF_HELPER_5(vfncvt_rod_f_f_w_h, void, ptr, ptr, ptr, env, i32)
> +DEF_HELPER_5(vfncvt_rod_f_f_w_w, void, ptr, ptr, ptr, env, i32)
> +DEF_HELPER_5(vfncvt_rtz_xu_f_w_b, void, ptr, ptr, ptr, env, i32)
> +DEF_HELPER_5(vfncvt_rtz_xu_f_w_h, void, ptr, ptr, ptr, env, i32)
> +DEF_HELPER_5(vfncvt_rtz_xu_f_w_w, void, ptr, ptr, ptr, env, i32)
> +DEF_HELPER_5(vfncvt_rtz_x_f_w_b, void, ptr, ptr, ptr, env, i32)
> +DEF_HELPER_5(vfncvt_rtz_x_f_w_h, void, ptr, ptr, ptr, env, i32)
> +DEF_HELPER_5(vfncvt_rtz_x_f_w_w, void, ptr, ptr, ptr, env, i32)

Again, no rtz helpers.

As for rod... I think you'll want a new helper akin to
helper_set_rounding_mode() that sets float_round_to_odd.  We don't want to
change helper_set_rounding_mode because that's responsible for SIGILL, and this
should be an interface private to translation.

You'd probably want to add a private value for to be used only within
translate.c and insn_trans/*, so that gen_set_rm() can remember the odd setting
as with all of the others.  E.g.

#define QEMU_FRM_ODD 8


r~

Reply via email to