From e9287f2265a74f778addc7bb193b1f538e4dc6be Mon Sep 17 00:00:00 2001 From: Richard Townsend Date: Mon, 13 Jul 2026 12:21:49 -0700 Subject: [PATCH] [gn] add neoni8mmbf16 kernels PiperOrigin-RevId: 947178547 --- BUILD.gn | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/BUILD.gn b/BUILD.gn index 63773700ad0..79d827b847e 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -44,6 +44,7 @@ import("gen/neonfp16_microkernels.bzl") import("gen/neonfp16arith_aarch64_microkernels.bzl") import("gen/neonfp16arith_microkernels.bzl") import("gen/neoni8mm_microkernels.bzl") +import("gen/neoni8mmbf16_microkernels.bzl") import("gen/neonsme2_microkernels.bzl") import("gen/neonsme_microkernels.bzl") import("gen/neonv8_microkernels.bzl") @@ -551,6 +552,37 @@ if (current_cpu == "arm64") { ] } + xnnpack_source_set("neon_i8mmbf16_microkernels") { + deps = [ + ":microkernel_defs", + ":microkernel_headers", + ] + if (xnnpack_enable_arm_kleidiai) { + deps += [ "//third_party/kleidiai" ] + } + sources = ALL_NEONI8MMBF16_MICROKERNEL_SRCS + + cflags = [ + "-Xclang", + "-target-feature", + "-Xclang", + "+i8mm", + "-Xclang", + "-target-feature", + "-Xclang", + "+fullfp16", + "-Xclang", + "-target-feature", + "-Xclang", + "+bf16", + "-Xclang", + "-target-feature", + "-Xclang", + "+dotprod", + ] + cflags += [ "-march=armv8.2-a+bf16" ] + } + xnnpack_source_set("neon_aarch64_microkernels") { deps = [ ":microkernel_defs", @@ -1011,6 +1043,7 @@ template("xnnpack_library") { ":neon_bf16_microkernels", ":neon_fullfp16_microkernels", ":neon_i8mm_microkernels", + ":neon_i8mmbf16_microkernels", ] if (xnnpack_enable_arm_dotprod) { deps += [