================
@@ -63,5 +63,7 @@ let TargetPrefix = "spv" in {
def int_spv_frac : DefaultAttrsIntrinsic<[LLVMMatchType<0>],
[llvm_anyfloat_ty]>;
def int_spv_lerp : Intrinsic<[LLVMMatchType<0>], [llvm_anyfloat_ty,
LLVMMatchType<0>,LLVMMatchType<0>],
[IntrNoMem, IntrWillReturn] >;
+ def int_spv_length : Intrinsic<[LLVMMatchType<0>], [llvm_anyfloat_ty,
LLVMMatchType<0>,LLVMMatchType<0>],
----------------
farzonl wrote:
this needs to also be `DefaultAttrsIntrinsic<[LLVMVectorElementType<0>],
[llvm_anyfloat_ty]>;` like you have it on `int_dx_length`. `LLVMMatchType<0>`
will match `llvm_anyfloat_ty` which means it will make the expected return be a
vector when length returns are scalars. Also if you don't use
`DefaultAttrsIntrinsic` you won't get all the default behaviors of intrinsics.
https://github.com/llvm/llvm-project/pull/101256
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits