On 12/24/22 00:16, Song Gao wrote:
+TRANS(vmadd_b, gen_vvv, gen_helper_vmadd_b) +TRANS(vmadd_h, gen_vvv, gen_helper_vmadd_h) +TRANS(vmadd_w, gen_vvv, gen_helper_vmadd_w) +TRANS(vmadd_d, gen_vvv, gen_helper_vmadd_d) +TRANS(vmsub_b, gen_vvv, gen_helper_vmsub_b) +TRANS(vmsub_h, gen_vvv, gen_helper_vmsub_h) +TRANS(vmsub_w, gen_vvv, gen_helper_vmsub_w) +TRANS(vmsub_d, gen_vvv, gen_helper_vmsub_d)
Implement with mul, add, sub.
+TRANS(vmaddwev_h_b, gen_vvv, gen_helper_vmaddwev_h_b) +TRANS(vmaddwev_w_h, gen_vvv, gen_helper_vmaddwev_w_h) +TRANS(vmaddwev_d_w, gen_vvv, gen_helper_vmaddwev_d_w) +TRANS(vmaddwev_q_d, gen_vvv, gen_helper_vmaddwev_q_d) +TRANS(vmaddwod_h_b, gen_vvv, gen_helper_vmaddwod_h_b) +TRANS(vmaddwod_w_h, gen_vvv, gen_helper_vmaddwod_w_h) +TRANS(vmaddwod_d_w, gen_vvv, gen_helper_vmaddwod_d_w) +TRANS(vmaddwod_q_d, gen_vvv, gen_helper_vmaddwod_q_d) +TRANS(vmaddwev_h_bu, gen_vvv, gen_helper_vmaddwev_h_bu) +TRANS(vmaddwev_w_hu, gen_vvv, gen_helper_vmaddwev_w_hu) +TRANS(vmaddwev_d_wu, gen_vvv, gen_helper_vmaddwev_d_wu) +TRANS(vmaddwev_q_du, gen_vvv, gen_helper_vmaddwev_q_du) +TRANS(vmaddwod_h_bu, gen_vvv, gen_helper_vmaddwod_h_bu) +TRANS(vmaddwod_w_hu, gen_vvv, gen_helper_vmaddwod_w_hu) +TRANS(vmaddwod_d_wu, gen_vvv, gen_helper_vmaddwod_d_wu) +TRANS(vmaddwod_q_du, gen_vvv, gen_helper_vmaddwod_q_du) +TRANS(vmaddwev_h_bu_b, gen_vvv, gen_helper_vmaddwev_h_bu_b) +TRANS(vmaddwev_w_hu_h, gen_vvv, gen_helper_vmaddwev_w_hu_h) +TRANS(vmaddwev_d_wu_w, gen_vvv, gen_helper_vmaddwev_d_wu_w) +TRANS(vmaddwev_q_du_d, gen_vvv, gen_helper_vmaddwev_q_du_d) +TRANS(vmaddwod_h_bu_b, gen_vvv, gen_helper_vmaddwod_h_bu_b) +TRANS(vmaddwod_w_hu_h, gen_vvv, gen_helper_vmaddwod_w_hu_h) +TRANS(vmaddwod_d_wu_w, gen_vvv, gen_helper_vmaddwod_d_wu_w) +TRANS(vmaddwod_q_du_d, gen_vvv, gen_helper_vmaddwod_q_du_d)
Similar to widening add, mul. r~