================
@@ -5678,6 +5678,204 @@ let TargetPrefix = "x86" in {
[]>;
}
+//===----------------------------------------------------------------------===//
+// ACE (AI Compute Extensions) Intrinsics
+//===----------------------------------------------------------------------===//
+let TargetPrefix = "x86" in {
+ // BSRINIT - Initialize Block Scale Register
+ def int_x86_bsrinit : ClangBuiltin<"__builtin_ia32_bsrinit">,
+ Intrinsic<[], [], []>;
+
+ // BSRMOVF - Move Full to BSR
+ // Takes two ZMM registers as input (doubleword integers), writes to BSR
(implicit)
+ def int_x86_bsrmovf : ClangBuiltin<"__builtin_ia32_bsrmovf">,
+ Intrinsic<[], [llvm_v16i32_ty, llvm_v16i32_ty], []>;
+
+ // BSRMOVH - Move Half to/from BSR
+ // Load variant: read from ZMM (doubleword integers), update BSR
+ def int_x86_bsrmovh_set : ClangBuiltin<"__builtin_ia32_bsrmovh_set">,
+ Intrinsic<[], [llvm_v16i32_ty], []>;
+ // Store variant: read from BSR, return ZMM (doubleword integers)
+ def int_x86_bsrmovh_get : ClangBuiltin<"__builtin_ia32_bsrmovh_get">,
+ Intrinsic<[llvm_v16i32_ty], [], []>;
+
+ // BSRMOVL - Move Low to/from BSR
+ // Load variant: read from ZMM (doubleword integers), write to BSR
+ def int_x86_bsrmovl_set : ClangBuiltin<"__builtin_ia32_bsrmovl_set">,
+ Intrinsic<[], [llvm_v16i32_ty], []>;
+ // Store variant: read from BSR, return ZMM (doubleword integers)
+ def int_x86_bsrmovl_get : ClangBuiltin<"__builtin_ia32_bsrmovl_get">,
+ Intrinsic<[llvm_v16i32_ty], [], []>;
+
+ // TILEMOVCOL - Move Column from Vector to Tile
+ // Single intrinsic handles both immediate and register index forms.
+ // Lowering checks if index is constant and selects appropriate instruction.
+ def int_x86_tilesetcol : ClangBuiltin<"__builtin_ia32_tilesetcol">,
----------------
mahesh-attarde wrote:
Just like builtin, it would be preferrable to use exact isa mnemonic string
then extra suffix.
https://github.com/llvm/llvm-project/pull/208408
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits