[llvm] [IR] Add llvm.masked.load.first.fault intrinsic (PR #156470)
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 10 07:23:42 PST 2026
================
@@ -27677,6 +27677,67 @@ The '``llvm.masked.compressstore``' intrinsic is designed for compressing data i
Other targets may support this intrinsic differently, for example, by lowering it into a sequence of branches that guard scalar store operations.
+.. _int_mloadff:
+
+'``llvm.masked.load.first.fault.*``' Intrinsics
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Syntax:
+"""""""
+This is an overloaded intrinsic. The loaded data is a vector of any integer,
+floating-point or pointer data type.
+
+::
+
+ declare { <16 x float>, <16 x i1> } @llvm.masked.load.first.fault.v16f32.p0(ptr <ptr>, i32 <alignment>, <16 x i1> <mask>)
+ declare { <2 x double>, <2 x i1> } @llvm.masked.load.first.fault.v2f64.p0(ptr <ptr>, i32 <alignment>, <2 x i1> <mask>)
+ ;; The data is a vector of pointers
+ declare { <8 x ptr>, <8 x i1> } @llvm.masked.load.first.fault.v8p0.p0(ptr <ptr>, i32 <alignment>, <8 x i1> <mask>)
----------------
paulwalker-arm wrote:
I agree, defining the other lanes as poison seems fine. If users want to set them to a known value they can use a select instruction to set them.
https://github.com/llvm/llvm-project/pull/156470
More information about the llvm-commits
mailing list