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~