[llvm] [RISCV] Support f16 vmv.v.v and vmerge.vvm intrinsics with Zvfhmin. (PR #101457)
Brandon Wu via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 1 00:15:59 PDT 2024
================
@@ -7229,12 +7230,15 @@ defm : VPatConversionVI_VF<"int_riscv_vfclass", "PseudoVFCLASS">;
// NOTE: Clang previously used int_riscv_vfmerge for vector-vector, but now uses
// int_riscv_vmerge. Support both for compatibility.
foreach vti = AllFloatVectors in {
- let Predicates = GetVTypePredicates<vti>.Predicates in {
+ let Predicates = !if(!eq(vti.Scalar, f16), [HasVInstructionsF16Minimal],
+ GetVTypePredicates<vti>.Predicates) in {
defm : VPatBinaryCarryInTAIL<"int_riscv_vmerge", "PseudoVMERGE", "VVM",
vti.Vector,
vti.Vector, vti.Vector, vti.Mask,
vti.Log2SEW, vti.LMul, vti.RegClass,
vti.RegClass, vti.RegClass>;
+ }
+ let Predicates = GetVTypePredicates<vti>.Predicates in {
----------------
4vtomat wrote:
Do we need the curly bracket?
https://github.com/llvm/llvm-project/pull/101457
More information about the llvm-commits
mailing list