sdesmalen accepted this revision. sdesmalen added a comment. This revision is now accepted and ready to land.
LGTM. Feel free to ignore the nit if you think the explicit `x_intrinsic` is better. ================ Comment at: clang/include/clang/Basic/arm_sve.td:762 -multiclass SInstZPZZ<string name, string types, string intrinsic, list<FlagType> flags=[]> { - def _M : SInst<name # "[_{d}]", "dPdd", types, MergeOp1, intrinsic, flags>; - def _X : SInst<name # "[_{d}]", "dPdd", types, MergeAny, intrinsic, flags>; - def _Z : SInst<name # "[_{d}]", "dPdd", types, MergeZero, intrinsic, flags>; - - def _N_M : SInst<name # "[_n_{d}]", "dPda", types, MergeOp1, intrinsic, flags>; - def _N_X : SInst<name # "[_n_{d}]", "dPda", types, MergeAny, intrinsic, flags>; - def _N_Z : SInst<name # "[_n_{d}]", "dPda", types, MergeZero, intrinsic, flags>; -} - -defm SVABD_S : SInstZPZZ<"svabd", "csil", "aarch64_sve_sabd">; -defm SVABD_U : SInstZPZZ<"svabd", "UcUsUiUl", "aarch64_sve_uabd">; -defm SVADD : SInstZPZZ<"svadd", "csilUcUsUiUl", "aarch64_sve_add">; -defm SVDIV_S : SInstZPZZ<"svdiv", "il", "aarch64_sve_sdiv">; -defm SVDIV_U : SInstZPZZ<"svdiv", "UiUl", "aarch64_sve_udiv">; -defm SVDIVR_S : SInstZPZZ<"svdivr", "il", "aarch64_sve_sdivr">; -defm SVDIVR_U : SInstZPZZ<"svdivr", "UiUl", "aarch64_sve_udivr">; -defm SVMAX_S : SInstZPZZ<"svmax", "csil", "aarch64_sve_smax">; -defm SVMAX_U : SInstZPZZ<"svmax", "UcUsUiUl", "aarch64_sve_umax">; -defm SVMIN_S : SInstZPZZ<"svmin", "csil", "aarch64_sve_smin">; -defm SVMIN_U : SInstZPZZ<"svmin", "UcUsUiUl", "aarch64_sve_umin">; -defm SVMUL : SInstZPZZ<"svmul", "csilUcUsUiUl", "aarch64_sve_mul">; -defm SVMULH_S : SInstZPZZ<"svmulh", "csil", "aarch64_sve_smulh">; -defm SVMULH_U : SInstZPZZ<"svmulh", "UcUsUiUl", "aarch64_sve_umulh">; -defm SVSUB : SInstZPZZ<"svsub", "csilUcUsUiUl", "aarch64_sve_sub">; -defm SVSUBR : SInstZPZZ<"svsubr", "csilUcUsUiUl", "aarch64_sve_subr">; +multiclass SInstZPZZ<string name, string types, string m_intrinsic, string x_intrinsic, list<FlagType> flags=[]> { + def _M : SInst<name # "[_{d}]", "dPdd", types, MergeOp1, m_intrinsic, flags>; ---------------- nit is it worth adding a `bit hasUndefVariant` and doing `!if (hasUndefVariant, intrinsic # "_u", intrinsic)`? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141939/new/ https://reviews.llvm.org/D141939 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits