On 3/12/20 7:58 AM, LIU Zhiwei wrote: > +/* Vector Single-Width Saturating Add and Subtract */ > +GEN_OPIVV_GVEC_TRANS(vsaddu_vv, usadd) > +GEN_OPIVV_GVEC_TRANS(vsadd_vv, ssadd) > +GEN_OPIVV_GVEC_TRANS(vssubu_vv, ussub) > +GEN_OPIVV_GVEC_TRANS(vssub_vv, sssub) > +GEN_OPIVX_TRANS(vsaddu_vx, opivx_check) > +GEN_OPIVX_TRANS(vsadd_vx, opivx_check) > +GEN_OPIVX_TRANS(vssubu_vx, opivx_check) > +GEN_OPIVX_TRANS(vssub_vx, opivx_check) > +GEN_OPIVI_TRANS(vsaddu_vi, 1, vsaddu_vx, opivx_check) > +GEN_OPIVI_TRANS(vsadd_vi, 0, vsadd_vx, opivx_check)
The vxsat bit can't be set by the gvec routines, at least on its own. For ppc I compute the saturation bit by doing the vector saturating add, the vector normal add, and comparing the two. See uses of vscr_sat. But for now, you can just use your own current out-of-line functions. r~